| 291 | |
| 292 | |
| 293 | class CertificateBuilder: |
| 294 | _extensions: list[Extension[ExtensionType]] |
| 295 | |
| 296 | def __init__( |
| 297 | self, |
| 298 | issuer_name: Name | None = None, |
| 299 | subject_name: Name | None = None, |
| 300 | public_key: CertificatePublicKeyTypes | None = None, |
| 301 | serial_number: int | None = None, |
| 302 | not_valid_before: datetime.datetime | None = None, |
| 303 | not_valid_after: datetime.datetime | None = None, |
| 304 | extensions: list[Extension[ExtensionType]] = [], |
| 305 | public_key_rsa_padding: type[padding.PSS] | None = None, |
| 306 | ) -> None: |
| 307 | self._version = Version.v3 |
| 308 | self._issuer_name = issuer_name |
| 309 | self._subject_name = subject_name |
| 310 | self._public_key = public_key |
| 311 | self._serial_number = serial_number |
| 312 | self._not_valid_before = not_valid_before |
| 313 | self._not_valid_after = not_valid_after |
| 314 | self._extensions = extensions |
| 315 | self._public_key_rsa_padding = public_key_rsa_padding |
| 316 | |
| 317 | def issuer_name(self, name: Name) -> CertificateBuilder: |
| 318 | """ |
| 319 | Sets the CA's distinguished name. |
| 320 | """ |
| 321 | if not isinstance(name, Name): |
| 322 | raise TypeError("Expecting x509.Name object.") |
| 323 | if self._issuer_name is not None: |
| 324 | raise ValueError("The issuer name may only be set once.") |
| 325 | return CertificateBuilder( |
| 326 | name, |
| 327 | self._subject_name, |
| 328 | self._public_key, |
| 329 | self._serial_number, |
| 330 | self._not_valid_before, |
| 331 | self._not_valid_after, |
| 332 | self._extensions, |
| 333 | self._public_key_rsa_padding, |
| 334 | ) |
| 335 | |
| 336 | def subject_name(self, name: Name) -> CertificateBuilder: |
| 337 | """ |
| 338 | Sets the requestor's distinguished name. |
| 339 | """ |
| 340 | if not isinstance(name, Name): |
| 341 | raise TypeError("Expecting x509.Name object.") |
| 342 | if self._subject_name is not None: |
| 343 | raise ValueError("The subject name may only be set once.") |
| 344 | return CertificateBuilder( |
| 345 | self._issuer_name, |
| 346 | name, |
| 347 | self._public_key, |
| 348 | self._serial_number, |
| 349 | self._not_valid_before, |
| 350 | self._not_valid_after, |
no outgoing calls
no test coverage detected