# Module openssl::asn1 [−] [src]

Defines the format of certificiates

This module is used by `x509` and other certificate building functions to describe time, strings, and objects.

Abstract Syntax Notation One is an interface description language. The specification comes from X.208 by OSI, and rewritten in X.680. ASN.1 describes properties of an object with a type set. Those types can be atomic, structured, choice, and other (CHOICE and ANY). These types are expressed as a number and the assignment operator ::= gives the type a name.

The implementation here provides a subset of the ASN.1 types that OpenSSL uses, especially in the properties of a certificate used in HTTPS.

## Examples

    use openssl::asn1::Asn1Time;
    let tomorrow = Asn1Time::days_from_now(1);

## Structs

Asn1BitString | Sequence of bytes
Asn1BitStringRef | Reference to `Asn1BitString`
Asn1GeneralizedTime | Non-UTC representation of time
Asn1GeneralizedTimeRef | Reference to a `Asn1GeneralizedTime`
Asn1Integer | Numeric representation
Asn1IntegerRef | Reference to `Asn1Integer`
Asn1Object | Object Identifier
Asn1ObjectRef | Reference to `Asn1Object`
Asn1String | Primary ASN.1 type used by OpenSSL
Asn1StringRef | Reference to `Asn1String`
Asn1Time | Time storage and comparison
Asn1TimeRef | Reference to an `Asn1Time`
TimeDiff | Difference between two ASN1 times.