Sets the certificate expiration time.
(self, time: datetime.datetime)
| 464 | ) |
| 465 | |
| 466 | def not_valid_after(self, time: datetime.datetime) -> CertificateBuilder: |
| 467 | """ |
| 468 | Sets the certificate expiration time. |
| 469 | """ |
| 470 | if not isinstance(time, datetime.datetime): |
| 471 | raise TypeError("Expecting datetime object.") |
| 472 | if self._not_valid_after is not None: |
| 473 | raise ValueError("The not valid after may only be set once.") |
| 474 | time = _convert_to_naive_utc_time(time) |
| 475 | if time < _EARLIEST_UTC_TIME: |
| 476 | raise ValueError( |
| 477 | "The not valid after date must be on or after 1950 January 1." |
| 478 | ) |
| 479 | if ( |
| 480 | self._not_valid_before is not None |
| 481 | and time < self._not_valid_before |
| 482 | ): |
| 483 | raise ValueError( |
| 484 | "The not valid after date must be after the not valid before " |
| 485 | "date." |
| 486 | ) |
| 487 | return CertificateBuilder( |
| 488 | self._issuer_name, |
| 489 | self._subject_name, |
| 490 | self._public_key, |
| 491 | self._serial_number, |
| 492 | self._not_valid_before, |
| 493 | time, |
| 494 | self._extensions, |
| 495 | self._public_key_rsa_padding, |
| 496 | ) |
| 497 | |
| 498 | def add_extension( |
| 499 | self, extval: ExtensionType, critical: bool |