Adds an X.509 extension to the certificate.
(
self, extval: ExtensionType, critical: bool
)
| 496 | ) |
| 497 | |
| 498 | def add_extension( |
| 499 | self, extval: ExtensionType, critical: bool |
| 500 | ) -> CertificateBuilder: |
| 501 | """ |
| 502 | Adds an X.509 extension to the certificate. |
| 503 | """ |
| 504 | if not isinstance(extval, ExtensionType): |
| 505 | raise TypeError("extension must be an ExtensionType") |
| 506 | |
| 507 | extension = Extension(extval.oid, critical, extval) |
| 508 | _reject_duplicate_extension(extension, self._extensions) |
| 509 | |
| 510 | return CertificateBuilder( |
| 511 | self._issuer_name, |
| 512 | self._subject_name, |
| 513 | self._public_key, |
| 514 | self._serial_number, |
| 515 | self._not_valid_before, |
| 516 | self._not_valid_after, |
| 517 | [*self._extensions, extension], |
| 518 | self._public_key_rsa_padding, |
| 519 | ) |
| 520 | |
| 521 | def sign( |
| 522 | self, |