# Module openssl::x509::extension [−] [src]

Add extensions to an `X509` certificate or certificate request.

The extensions defined for X.509 v3 certificates provide methods for associating additional attributes with users or public keys and for managing relationships between CAs. The extensions created using this module can be used with `X509v3Context` objects.

# Example

    extern crate openssl;

    use openssl::x509::extension::BasicConstraints;
    use openssl::x509::X509Extension;

    fn main() {
        let mut bc = BasicConstraints::new();
        let bc = bc.critical().ca().pathlen(1);

        let extension: X509Extension = bc.build().unwrap();
    }

## Structs

AuthorityKeyIdentifier | An extension that provides a means of identifying the public key corresponding to the private key used to sign a CRL.
BasicConstraints | An extension which indicates whether a certificate is a CA certificate.
ExtendedKeyUsage | An extension consisting of a list of usages indicating purposes for which the certificate public key can be used for.
KeyUsage | An extension consisting of a list of names of the permitted key usages.
SubjectAlternativeName | An extension that allows additional identities to be bound to the subject of the certificate.
SubjectKeyIdentifier | An extension that provides a means of identifying certificates that contain a particular public key.