Fix/improve typing. (#905)

This commit is contained in:
Felix Fontein
2025-05-29 23:10:35 +02:00
committed by GitHub
parent b8adc3b241
commit 52b21b5177
4 changed files with 41 additions and 5 deletions

View File

@@ -144,7 +144,7 @@ class CertificateSigningRequestBackend(metaclass=abc.ABCMeta):
) )
self.ordered_subject = False self.ordered_subject = False
self.subject = [ subject = [
("C", module.params["country_name"]), ("C", module.params["country_name"]),
("ST", module.params["state_or_province_name"]), ("ST", module.params["state_or_province_name"]),
("L", module.params["locality_name"]), ("L", module.params["locality_name"]),
@@ -153,7 +153,9 @@ class CertificateSigningRequestBackend(metaclass=abc.ABCMeta):
("CN", module.params["common_name"]), ("CN", module.params["common_name"]),
("emailAddress", module.params["email_address"]), ("emailAddress", module.params["email_address"]),
] ]
self.subject = [(entry[0], entry[1]) for entry in self.subject if entry[1]] self.subject: list[tuple[str, str]] = [
(entry[0], entry[1]) for entry in subject if entry[1]
]
try: try:
if module.params["subject"]: if module.params["subject"]:

View File

@@ -292,11 +292,27 @@ def load_certificate_request(
raise OpenSSLObjectError(exc) from exc raise OpenSSLObjectError(exc) from exc
@t.overload
def parse_name_field(
input_dict: dict[str, list[str] | str],
*,
name_field_name: str | None = None,
) -> list[tuple[str, str]]: ...
@t.overload
def parse_name_field( def parse_name_field(
input_dict: dict[str, list[str | bytes] | str | bytes], input_dict: dict[str, list[str | bytes] | str | bytes],
*, *,
name_field_name: str | None = None, name_field_name: str | None = None,
) -> list[tuple[str, str | bytes]]: ) -> list[tuple[str, str | bytes]]: ...
def parse_name_field(
input_dict: dict[str, t.Any],
*,
name_field_name: str | None = None,
) -> list:
"""Take a dict with key: value or key: list_of_values mappings and return a list of tuples""" """Take a dict with key: value or key: list_of_values mappings and return a list of tuples"""
def error_str(key: str) -> str: def error_str(key: str) -> str:
@@ -328,11 +344,27 @@ def parse_name_field(
return result return result
@t.overload
def parse_ordered_name_field(
input_list: list[dict[str, list[str] | str]],
*,
name_field_name: str,
) -> list[tuple[str, str]]: ...
@t.overload
def parse_ordered_name_field( def parse_ordered_name_field(
input_list: list[dict[str, list[str | bytes] | str | bytes]], input_list: list[dict[str, list[str | bytes] | str | bytes]],
*, *,
name_field_name: str, name_field_name: str,
) -> list[tuple[str, str | bytes]]: ) -> list[tuple[str, str | bytes]]: ...
def parse_ordered_name_field(
input_list: list[dict[str, t.Any]],
*,
name_field_name: str,
) -> list:
"""Take a dict with key: value or key: list_of_values mappings and return a list of tuples""" """Take a dict with key: value or key: list_of_values mappings and return a list of tuples"""
result = [] result = []

View File

@@ -403,6 +403,7 @@ class KeypairBackendOpensshBin(KeypairBackend):
) )
def _update_comment(self) -> None: def _update_comment(self) -> None:
assert self.comment is not None
try: try:
ssh_version = self._get_ssh_version() or "7.8" ssh_version = self._get_ssh_version() or "7.8"
force_new_format = ( force_new_format = (
@@ -527,6 +528,7 @@ class KeypairBackendCryptography(KeypairBackend):
return True return True
def _update_comment(self) -> None: def _update_comment(self) -> None:
assert self.comment is not None
keypair = OpensshKeypair.load( keypair = OpensshKeypair.load(
path=self.private_key_path, passphrase=self.passphrase, no_public_key=True path=self.private_key_path, passphrase=self.passphrase, no_public_key=True
) )

View File

@@ -468,7 +468,7 @@ class OpensshECDSACertificateInfo(OpensshCertificateInfo):
self, *, curve: bytes | None = None, public_key: bytes | None = None, **kwargs self, *, curve: bytes | None = None, public_key: bytes | None = None, **kwargs
): ):
super().__init__(**kwargs) super().__init__(**kwargs)
self._curve = None self._curve: bytes | None = None
if curve is not None: if curve is not None:
self.curve = curve self.curve = curve