diff options
Diffstat (limited to 'docs/x509')
| -rw-r--r-- | docs/x509/reference.rst | 111 | 
1 files changed, 111 insertions, 0 deletions
| diff --git a/docs/x509/reference.rst b/docs/x509/reference.rst index 62bdb3a9..9f9526e2 100644 --- a/docs/x509/reference.rst +++ b/docs/x509/reference.rst @@ -5,6 +5,21 @@ X.509 Reference  .. testsetup:: +    pem_crl_data = b""" +    -----BEGIN X509 CRL----- +    MIIBtDCBnQIBAjANBgkqhkiG9w0BAQsFADAnMQswCQYDVQQGEwJVUzEYMBYGA1UE +    AwwPY3J5cHRvZ3JhcGh5LmlvGA8yMDE1MDEwMTAwMDAwMFoYDzIwMTYwMTAxMDAw +    MDAwWjA+MDwCAQAYDzIwMTUwMTAxMDAwMDAwWjAmMBgGA1UdGAQRGA8yMDE1MDEw +    MTAwMDAwMFowCgYDVR0VBAMKAQEwDQYJKoZIhvcNAQELBQADggEBABRA4ww50Lz5 +    zk1j2+aluC4HPHqb7o06h4pTDcCGeXUKXIGeP5ntGGmIoxa26sNoLeOr8+5b43Gf +    yWraHertllOwaOpNFEe+YZFaE9femtoDbf+GLMvRx/0wDfd3KxPoXnXKMXb2d1w4 +    RCLgmkYx6JyvS+5ciuLQVIKC+l7jwIUeZFLJMUJ8msM4pFYoGameeZmtjMbd/TNg +    cVBfmZxNMHuLladJxvSo2esARo0TYPhYsgrREKoHwhpzSxdynjn4bOVkILfguwsN +    qtEEMZFEv5Kb0GqRp2+Iagv2S6dg9JGvxVdsoGjaB6EbYSZ3Psx4aODasIn11uwo +    X4B9vUQNXqc= +    -----END X509 CRL----- +    """.strip() +      pem_req_data = b"""      -----BEGIN CERTIFICATE REQUEST-----      MIIC0zCCAbsCAQAwWTELMAkGA1UEBhMCVVMxETAPBgNVBAgMCElsbGlub2lzMRAw @@ -129,6 +144,52 @@ Loading Certificates      >>> cert.serial      2 +Loading Certificate Revocation Lists +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +.. function:: load_pem_x509_crl(data, backend) + +    .. versionadded:: 1.1 + +    Deserialize a certificate revocation list (CRL) from PEM encoded data. PEM +    requests are base64 decoded and have delimiters that look like +    ``-----BEGIN X509 CRL-----``. This format is also known as +    PKCS#10. + +    :param bytes data: The PEM encoded request data. + +    :param backend: A backend supporting the +        :class:`~cryptography.hazmat.backends.interfaces.X509Backend` +        interface. + +    :returns: An instance of +        :class:`~cryptography.x509.CertificateRevocationList`. + +.. function:: load_der_x509_crl(data, backend) + +    .. versionadded:: 1.1 + +    Deserialize a certificate revocation list (CRL) from DER encoded data. DER +    is a binary format. + +    :param bytes data: The DER encoded request data. + +    :param backend: A backend supporting the +        :class:`~cryptography.hazmat.backends.interfaces.X509Backend` +        interface. + +    :returns: An instance of +        :class:`~cryptography.x509.CertificateRevocationList`. + +.. doctest:: + +    >>> from cryptography import x509 +    >>> from cryptography.hazmat.backends import default_backend +    >>> from cryptography.hazmat.primitives import hashes +    >>> crl = x509.load_pem_x509_crl(pem_crl_data, default_backend()) +    >>> isinstance(crl.signature_hash_algorithm, hashes.SHA256) +    True +  Loading Certificate Signing Requests  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -349,6 +410,12 @@ X.509 CRL (Certificate Revocation List) Object          :return bytes: The fingerprint using the supplied hash algorithm, as              bytes. +        .. doctest:: + +            >>> from cryptography.hazmat.primitives import hashes +            >>> crl.fingerprint(hashes.SHA256()) +            'e\xcf.\xc4:\x83?1\xdc\xf3\xfc\x95\xd7\xb3\x87\xb3\x8e\xf8\xb93!\x87\x07\x9d\x1b\xb4!\xb9\xe4W\xf4\x1f' +      .. attribute:: signature_hash_algorithm          :type: :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` @@ -357,12 +424,23 @@ X.509 CRL (Certificate Revocation List) Object          :class:`~cryptography.hazmat.primitives.hashes.HashAlgorithm` which          was used in signing this CRL. +        .. doctest:: + +            >>> from cryptography.hazmat.primitives import hashes +            >>> isinstance(crl.signature_hash_algorithm, hashes.SHA256) +            True +      .. attribute:: issuer          :type: :class:`Name`          The :class:`Name` of the issuer. +        .. doctest:: + +            >>> crl.issuer +            <Name([<NameAttribute(oid=<ObjectIdentifier(oid=2.5.4.6, name=countryName)>, value=u'US')>, <NameAttribute(oid=<ObjectIdentifier(oid=2.5.4.3, name=commonName)>, value=u'cryptography.io')>])> +      .. attribute:: next_update          :type: :class:`datetime.datetime` @@ -370,18 +448,34 @@ X.509 CRL (Certificate Revocation List) Object          A naïve datetime representing when the next update to this CRL is          expected. +        .. doctest:: + +            >>> crl.next_update +            datetime.datetime(2016, 1, 1, 0, 0) +      .. attribute:: last_update          :type: :class:`datetime.datetime`          A naïve datetime representing when the this CRL was last updated. +        .. doctest:: + +            >>> crl.last_update +            datetime.datetime(2015, 1, 1, 0, 0) +      .. attribute:: revoked_certificates          :type: list of :class:`RevokedCertificate`          The revoked certificates listed in this CRL. +        .. doctest:: + +            >>> for r in crl.revoked_certificates: +            ...     print(r.serial_number) +            0 +      .. attribute:: extensions          :type: :class:`Extensions` @@ -610,18 +704,35 @@ X.509 Revoked Certificate Object          An integer representing the serial number of the revoked certificate. +        .. doctest:: + +            >>> crl.revoked_certificates[0].serial_number +            0 +      .. attribute:: revocation_date          :type: :class:`datetime.datetime`          A naïve datetime representing the date this certificates was revoked. +        .. doctest:: + +            >>> crl.revoked_certificates[0].revocation_date +            datetime.datetime(2015, 1, 1, 0, 0) +      .. attribute:: extensions          :type: :class:`Extensions`          The extensions encoded in the revoked certificate. +        .. doctest:: + +            >>> for ext in crl.revoked_certificates[0].extensions: +            ...     print(ext) +            <Extension(oid=<ObjectIdentifier(oid=2.5.29.24, name=invalidityDate)>, critical=False, value=2015-01-01 00:00:00)> +            <Extension(oid=<ObjectIdentifier(oid=2.5.29.21, name=cRLReason)>, critical=False, value=ReasonFlags.key_compromise)> +  X.509 CSR (Certificate Signing Request) Builder Object  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | 
