(name, key_type: Any,
issuer: Credentials = None,
valid_from: timedelta = timedelta(days=-1),
valid_to: timedelta = timedelta(days=89),
serial: Optional[int] = None,
)
| 437 | |
| 438 | @staticmethod |
| 439 | def _make_ca_credentials(name, key_type: Any, |
| 440 | issuer: Credentials = None, |
| 441 | valid_from: timedelta = timedelta(days=-1), |
| 442 | valid_to: timedelta = timedelta(days=89), |
| 443 | serial: Optional[int] = None, |
| 444 | ) -> Credentials: |
| 445 | pkey = _private_key(key_type=key_type) |
| 446 | if issuer is not None: |
| 447 | issuer_subject = issuer.certificate.subject |
| 448 | issuer_key = issuer.private_key |
| 449 | else: |
| 450 | issuer_subject = None |
| 451 | issuer_key = pkey |
| 452 | subject = HttpdTestCA._make_x509_name(org_name=name, parent=issuer.subject if issuer else None) |
| 453 | csr = HttpdTestCA._make_csr(subject=subject, |
| 454 | issuer_subject=issuer_subject, pkey=pkey, |
| 455 | valid_from_delta=valid_from, valid_until_delta=valid_to, |
| 456 | serial=serial) |
| 457 | csr = HttpdTestCA._add_ca_usages(csr) |
| 458 | cert = csr.sign(private_key=issuer_key, |
| 459 | algorithm=hashes.SHA256(), |
| 460 | backend=default_backend()) |
| 461 | return Credentials(name=name, cert=cert, pkey=pkey, issuer=issuer) |
| 462 | |
| 463 | @staticmethod |
| 464 | def _make_server_credentials(name: str, domains: List[str], issuer: Credentials, |
no test coverage detected