]> git.sur5r.net Git - openldap/blob - contrib/slapd-modules/comp_match/certificate.asn1
ee85d08395e87f7dc216f3761172e274d7b8c8db
[openldap] / contrib / slapd-modules / comp_match / certificate.asn1
1 AuthenticationFramework {joint-iso-itu-t ds(5) module(1) authenticationFramework(7) 4} DEFINITIONS ::=
2 BEGIN
3 -- based on RFC 3280 and X.509
4
5 Certificate ::= SEQUENCE {
6         tbsCertificate TBSCertificate,
7         signatureAlgorithm AlgorithmIdentifier,
8         signature BIT STRING
9 }
10
11 TBSCertificate ::= SEQUENCE {
12                 version [0] Version DEFAULT v1,
13                 serialNumber CertificateSerialNumber,
14                 signature AlgorithmIdentifier,
15                 issuer Name,
16                 validity Validity,
17                 subject Name,
18                 subjectPublicKeyInfo SubjectPublicKeyInfo,
19                 issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
20                 -- if present, version shall be v2 or v3
21                 subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
22                 -- if present, version shall be v2 or v3
23                 extensions [3] Extensions OPTIONAL
24                 -- If present, version shall be v3 -- }
25
26 Version ::= INTEGER { v1(0), v2(1), v3(2) }
27
28 CertificateSerialNumber ::= INTEGER
29
30 AlgorithmIdentifier ::= SEQUENCE {
31         algorithm       OBJECT IDENTIFIER,
32         parameters      ANY DEFINED BY algorithm OPTIONAL -- DSA, SHA-1--
33 }
34
35 Name ::= CHOICE {
36         rdnSequence RDNSequence }
37
38 RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
39
40 RelativeDistinguishedName ::= SET OF AttributeTypeAndValue
41
42 AttributeTypeAndValue ::= SEQUENCE {
43         type     AttributeType,
44         value    ANY DEFINED BY type}
45
46 AttributeType ::= OBJECT IDENTIFIER
47
48 Validity ::= SEQUENCE {
49         notBefore Time,
50         notAfter Time }
51
52 UniqueIdentifier  ::=  BIT STRING
53
54 SubjectPublicKeyInfo ::= SEQUENCE {
55         algorithm AlgorithmIdentifier,
56         subjectPublicKey BIT STRING }
57
58 Time ::= CHOICE {
59         utcTime UTCTime,
60         generalizedTime GeneralizedTime }
61
62 Extensions ::= SEQUENCE SIZE(1..MAX) OF Extension
63
64 Extension ::= SEQUENCE {
65         extnID  OBJECT IDENTIFIER,
66 --      critical BOOLEAN DEFAULT FALSE,
67         extnValue OCTET STRING
68 -- contains a DER encoding of a value of type &ExtnType
69 -- for the extension object identified by extnId --
70 }
71
72 nullOid OBJECT-TYPE
73         SYNTAX  NULL
74         ACCESS read-write
75         STATUS mandatory
76         ::= { 1 2 840 113549 1 1 4 }
77
78 nullOid2 OBJECT-TYPE
79         SYNTAX  NULL
80         ACCESS read-write
81         STATUS mandatory
82         ::= { 1 2 840 113549 1 1 1 }
83
84 printableStringOid OBJECT-TYPE
85         SYNTAX PrintableString
86         ACCESS read-write
87         STATUS mandatory
88         ::= { 2 5 4 6 }    
89
90
91 END