|
16 | 16 | import hashlib |
17 | 17 | import logging |
18 | 18 | import os |
19 | | -from typing import Any, Dict, Iterator, List, Optional |
| 19 | +from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional |
20 | 20 |
|
21 | 21 | import attr |
22 | 22 | import jsonschema |
|
38 | 38 |
|
39 | 39 | from ._base import Config, ConfigError |
40 | 40 |
|
| 41 | +if TYPE_CHECKING: |
| 42 | + from signedjson.key import VerifyKeyWithExpiry |
| 43 | + |
41 | 44 | INSECURE_NOTARY_ERROR = """\ |
42 | 45 | Your server is configured to accept key server responses without signature |
43 | 46 | validation or TLS certificate validation. This is likely to be very insecure. If |
@@ -300,16 +303,16 @@ def read_signing_keys(self, signing_key_path: str, name: str) -> List[SigningKey |
300 | 303 |
|
301 | 304 | def read_old_signing_keys( |
302 | 305 | self, old_signing_keys: Optional[JsonDict] |
303 | | - ) -> Dict[str, VerifyKey]: |
| 306 | + ) -> Dict[str, "VerifyKeyWithExpiry"]: |
304 | 307 | if old_signing_keys is None: |
305 | 308 | return {} |
306 | 309 | keys = {} |
307 | 310 | for key_id, key_data in old_signing_keys.items(): |
308 | 311 | if is_signing_algorithm_supported(key_id): |
309 | 312 | key_base64 = key_data["key"] |
310 | 313 | key_bytes = decode_base64(key_base64) |
311 | | - verify_key = decode_verify_key_bytes(key_id, key_bytes) |
312 | | - verify_key.expired_ts = key_data["expired_ts"] |
| 314 | + verify_key: "VerifyKeyWithExpiry" = decode_verify_key_bytes(key_id, key_bytes) # type: ignore[assignment] |
| 315 | + verify_key.expired = key_data["expired_ts"] |
313 | 316 | keys[key_id] = verify_key |
314 | 317 | else: |
315 | 318 | raise ConfigError( |
@@ -422,7 +425,7 @@ def _parse_key_servers( |
422 | 425 | server_name = server["server_name"] |
423 | 426 | result = TrustedKeyServer(server_name=server_name) |
424 | 427 |
|
425 | | - verify_keys = server.get("verify_keys") |
| 428 | + verify_keys: Optional[Dict[str, str]] = server.get("verify_keys") |
426 | 429 | if verify_keys is not None: |
427 | 430 | result.verify_keys = {} |
428 | 431 | for key_id, key_base64 in verify_keys.items(): |
|
0 commit comments