diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_x509.py | 43 | 
1 files changed, 43 insertions, 0 deletions
diff --git a/tests/test_x509.py b/tests/test_x509.py index 668a3bad..e31b57f4 100644 --- a/tests/test_x509.py +++ b/tests/test_x509.py @@ -1652,6 +1652,49 @@ class TestCertificateSigningRequestBuilder(object):          assert str(exc.value) == "Digest too big for RSA key" +    @pytest.mark.requires_backend_interface(interface=RSABackend) +    @pytest.mark.requires_backend_interface(interface=X509Backend) +    def test_build_cert_with_aia(self, backend): +        issuer_private_key = RSA_KEY_2048.private_key(backend) +        subject_private_key = RSA_KEY_2048.private_key(backend) + +        not_valid_before = datetime.datetime(2002, 1, 1, 12, 1) +        not_valid_after = datetime.datetime(2030, 12, 31, 8, 30) + +        aia = x509.AuthorityInformationAccess([ +            x509.AccessDescription( +                x509.OID_OCSP, +                x509.UniformResourceIdentifier(u"http://ocsp.domain.com") +            ), +            x509.AccessDescription( +                x509.OID_CA_ISSUERS, +                x509.UniformResourceIdentifier(u"http://domain.com/ca.crt") +            ) +        ]) + +        builder = x509.CertificateBuilder().serial_number( +            777 +        ).issuer_name(x509.Name([ +            x509.NameAttribute(x509.OID_COUNTRY_NAME, u'US'), +        ])).subject_name(x509.Name([ +            x509.NameAttribute(x509.OID_COUNTRY_NAME, u'US'), +        ])).public_key( +            subject_private_key.public_key() +        ).add_extension( +            aia, critical=False +        ).not_valid_before( +            not_valid_before +        ).not_valid_after( +            not_valid_after +        ) + +        cert = builder.sign(issuer_private_key, hashes.SHA1(), backend) + +        ext = cert.extensions.get_extension_for_oid( +            x509.OID_AUTHORITY_INFORMATION_ACCESS +        ) +        assert ext.value == aia +  @pytest.mark.requires_backend_interface(interface=DSABackend)  @pytest.mark.requires_backend_interface(interface=X509Backend)  | 
