Enum openssl::x509::extension::Extension [] [src]

pub enum Extension {
    KeyUsage(Vec<KeyUsageOption>),
    ExtKeyUsage(Vec<ExtKeyUsageOption>),
    SubjectAltName(Vec<(AltNameOption, String)>),
    IssuerAltName(Vec<(AltNameOption, String)>),
    OtherNid(Nid, String),
    OtherStr(String, String),
}

A X.509 v3 certificate extension.

Only one extension of each type is allow in a certificate. See RFC 3280 for more information about extensions.

Variants

KeyUsage

The purposes of the key contained in the certificate

ExtKeyUsage

The extended purposes of the key contained in the certificate

SubjectAltName

Subject Alternative Names

IssuerAltName

Issuer Alternative Names

OtherNid

Arbitrary extensions by NID. See man x509v3_config for value syntax.

You must not use this to add extensions which this enum can express directly.

use openssl::x509::extension::Extension::*;
use openssl::nid::Nid;

generator.add_extension(OtherNid(Nid::BasicConstraints,"critical,CA:TRUE".to_owned()));
OtherStr

Arbitrary extensions by OID string. See man ASN1_generate_nconf for value syntax.

You must not use this to add extensions which this enum can express directly.

use openssl::x509::extension::Extension::*;

generator.add_extension(OtherStr("2.999.2".to_owned(),"ASN1:UTF8:example value".to_owned()));

Methods

impl Extension

fn get_type(&self) -> ExtensionType

Trait Implementations

impl ToString for Extension

fn to_string(&self) -> String

Derived Implementations

impl Clone for Extension

fn clone(&self) -> Extension

fn clone_from(&mut self, source: &Self)