1- #!/usr/bin/env python3
2-
31"""
42MAVLink 2.0 signing keystore for secure key management.
53
@@ -133,7 +131,7 @@ def fallback_path(self) -> Path:
133131 def _check_keyring_available (self ) -> bool :
134132 """Check if OS keyring is available and functional."""
135133 try :
136- import keyring # pylint: disable=import-outside-toplevel
134+ import keyring # noqa: PLC0415 # pylint: disable=import-outside-toplevel
137135
138136 # Try to get the default keyring
139137 backend = keyring .get_keyring ()
@@ -191,7 +189,7 @@ def store_key(self, vehicle_id: str, key: bytes, description: str = "") -> bool:
191189 # Try keyring first
192190 if self ._keyring_available :
193191 try :
194- import keyring # pylint: disable=import-outside-toplevel
192+ import keyring # noqa: PLC0415 # pylint: disable=import-outside-toplevel
195193
196194 # Store key as base64 encoded string
197195 key_b64 = base64 .b64encode (key ).decode ("ascii" )
@@ -207,9 +205,11 @@ def store_key(self, vehicle_id: str, key: bytes, description: str = "") -> bool:
207205 def _store_key_in_file (self , vehicle_id : str , key : bytes , description : str = "" ) -> bool :
208206 """Store key in encrypted file."""
209207 try :
210- from cryptography .fernet import Fernet # pylint: disable=import-outside-toplevel
211- from cryptography .hazmat .primitives import hashes # pylint: disable=import-outside-toplevel
212- from cryptography .hazmat .primitives .kdf .pbkdf2 import PBKDF2HMAC # pylint: disable=import-outside-toplevel
208+ from cryptography .fernet import Fernet # noqa: PLC0415 # pylint: disable=import-outside-toplevel
209+ from cryptography .hazmat .primitives import hashes # noqa: PLC0415 # pylint: disable=import-outside-toplevel
210+ from cryptography .hazmat .primitives .kdf .pbkdf2 import ( # noqa: PLC0415
211+ PBKDF2HMAC , # pylint: disable=import-outside-toplevel
212+ )
213213
214214 # Load existing keystore or create new
215215 keystore = self ._load_keystore_file ()
@@ -270,7 +270,7 @@ def retrieve_key(self, vehicle_id: str) -> Optional[bytes]:
270270 # Try keyring first
271271 if self ._keyring_available :
272272 try :
273- import keyring # pylint: disable=import-outside-toplevel
273+ import keyring # noqa: PLC0415 # pylint: disable=import-outside-toplevel
274274
275275 key_b64 = keyring .get_password (self ._keyring_service , vehicle_id )
276276 if key_b64 :
@@ -284,9 +284,11 @@ def retrieve_key(self, vehicle_id: str) -> Optional[bytes]:
284284 def _retrieve_key_from_file (self , vehicle_id : str ) -> Optional [bytes ]:
285285 """Retrieve key from encrypted file."""
286286 try :
287- from cryptography .fernet import Fernet # pylint: disable=import-outside-toplevel
288- from cryptography .hazmat .primitives import hashes # pylint: disable=import-outside-toplevel
289- from cryptography .hazmat .primitives .kdf .pbkdf2 import PBKDF2HMAC # pylint: disable=import-outside-toplevel
287+ from cryptography .fernet import Fernet # noqa: PLC0415 # pylint: disable=import-outside-toplevel
288+ from cryptography .hazmat .primitives import hashes # noqa: PLC0415 # pylint: disable=import-outside-toplevel
289+ from cryptography .hazmat .primitives .kdf .pbkdf2 import ( # noqa: PLC0415
290+ PBKDF2HMAC , # pylint: disable=import-outside-toplevel
291+ )
290292
291293 keystore = self ._load_keystore_file ()
292294
@@ -333,7 +335,7 @@ def delete_key(self, vehicle_id: str) -> bool:
333335 # Try keyring first
334336 if self ._keyring_available :
335337 try :
336- import keyring # pylint: disable=import-outside-toplevel
338+ import keyring # noqa: PLC0415 # pylint: disable=import-outside-toplevel
337339
338340 keyring .delete_password (self ._keyring_service , vehicle_id )
339341 deleted = True
@@ -393,9 +395,11 @@ def export_key(self, vehicle_id: str, password: str) -> Optional[str]:
393395 return None
394396
395397 try :
396- from cryptography .fernet import Fernet # pylint: disable=import-outside-toplevel
397- from cryptography .hazmat .primitives import hashes # pylint: disable=import-outside-toplevel
398- from cryptography .hazmat .primitives .kdf .pbkdf2 import PBKDF2HMAC # pylint: disable=import-outside-toplevel
398+ from cryptography .fernet import Fernet # noqa: PLC0415 # pylint: disable=import-outside-toplevel
399+ from cryptography .hazmat .primitives import hashes # noqa: PLC0415 # pylint: disable=import-outside-toplevel
400+ from cryptography .hazmat .primitives .kdf .pbkdf2 import ( # noqa: PLC0415
401+ PBKDF2HMAC , # pylint: disable=import-outside-toplevel
402+ )
399403
400404 # Generate salt
401405 salt = secrets .token_bytes (16 )
@@ -442,9 +446,11 @@ def import_key(self, export_data: str, password: str) -> Optional[str]:
442446
443447 """
444448 try :
445- from cryptography .fernet import Fernet , InvalidToken # pylint: disable=import-outside-toplevel
446- from cryptography .hazmat .primitives import hashes # pylint: disable=import-outside-toplevel
447- from cryptography .hazmat .primitives .kdf .pbkdf2 import PBKDF2HMAC # pylint: disable=import-outside-toplevel
449+ from cryptography .fernet import Fernet , InvalidToken # noqa: PLC0415 # pylint: disable=import-outside-toplevel
450+ from cryptography .hazmat .primitives import hashes # noqa: PLC0415 # pylint: disable=import-outside-toplevel
451+ from cryptography .hazmat .primitives .kdf .pbkdf2 import ( # noqa: PLC0415
452+ PBKDF2HMAC , # pylint: disable=import-outside-toplevel
453+ )
448454
449455 # Decode export package
450456 data = json .loads (base64 .b64decode (export_data ).decode ())
0 commit comments