|
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