1 -- Module AuthenticationFramework (X.509:08/1997)
3 AuthenticationFramework {joint-iso-itu-t ds(5) module(1)
4 authenticationFramework(7) 3} DEFINITIONS ::=
8 -- The types and values defined in this module are exported for use in the other ASN.1 modules contained
9 -- within the Directory Specifications, and for the use of other applications which will use them to access
10 -- Directory services. Other applications may use them for their own purposes, but this will not constrain
11 -- extensions and modifications needed to maintain or improve the Directory service.
13 id-at, id-mr, informationFramework, upperBounds, selectedAttributeTypes,
14 basicAccessControl, certificateExtensions
15 FROM UsefulDefinitions {joint-iso-itu-t ds(5) module(1)
16 usefulDefinitions(0) 3}
17 Name, ATTRIBUTE, AttributeType, MATCHING-RULE, Attribute, RDNSequence
18 FROM InformationFramework informationFramework
20 FROM UpperBounds upperBounds
22 FROM BasicAccessControl basicAccessControl
23 UniqueIdentifier, octetStringMatch
24 FROM SelectedAttributeTypes selectedAttributeTypes
25 certificateExactMatch, certificatePairExactMatch, certificateListExactMatch,
27 FROM CertificateExtensions certificateExtensions;
29 -- basic certificate definition
30 Certificate ::= SEQUENCE {
31 signedCertificate SEQUENCE {
32 version [0] Version DEFAULT v1,
33 serialNumber CertificateSerialNumber,
34 signature AlgorithmIdentifier,
38 subjectPublicKeyInfo SubjectPublicKeyInfo,
39 issuerUniqueIdentifier [1] IMPLICIT UniqueIdentifier OPTIONAL,
40 -- if present, version must be v2 or v3
41 subjectUniqueIdentifier [2] IMPLICIT UniqueIdentifier OPTIONAL,
42 -- if present, version must be v2 or v3
43 extensions [3] Extensions OPTIONAL
44 -- If present, version must be v3 -- },
45 algorithmIdentifier AlgorithmIdentifier,
49 -- imported to allow labelling
50 SubjectName ::= CHOICE {
51 rdnSequence RDNSequence
54 Version ::= INTEGER {v1(0), v2(1), v3(2)}
56 CertificateSerialNumber ::= INTEGER
58 AlgorithmIdentifier ::= SEQUENCE {
59 algorithmId OBJECT IDENTIFIER,
60 parameters ANY OPTIONAL
63 -- Definition of the following information object set is deferred, perhaps to standardized
64 -- profiles or to protocol implementation conformance statements. The set is required to
65 -- specify a table constraint on the parameters component of AlgorithmIdentifier.
66 --SupportedAlgorithms ALGORITHM ::=
69 Validity ::= SEQUENCE {notBefore Time,
73 SubjectPublicKeyInfo ::= SEQUENCE {
74 algorithm AlgorithmIdentifier,
75 subjectPublicKey BIT STRING
78 Time ::= CHOICE {utcTime UTCTime,
79 generalizedTime GeneralizedTime
82 Extensions ::= SEQUENCE OF Extension
84 -- For those extensions where ordering of individual extensions within the SEQUENCE is significant, the
85 -- specification of those individual extensions shall include the rules for the significance of the order therein
86 Extension ::= SEQUENCE {
87 extnId OBJECT IDENTIFIER,
88 critical BOOLEAN OPTIONAL,
89 extnValue OCTET STRING
90 -- contains a DER encoding of a value of type &ExtnType
91 -- for the extension object identified by extnId
94 --ExtensionSet EXTENSION ::=
97 EXTENSION ::= CLASS {&id OBJECT IDENTIFIER UNIQUE,
99 }WITH SYNTAX {SYNTAX &ExtnType
103 -- other certificate constructs
104 Certificates ::= SEQUENCE {
105 userCertificate Certificate,
106 certificationPath ForwardCertificationPath OPTIONAL
109 ForwardCertificationPath ::= SEQUENCE OF CrossCertificates
111 CrossCertificates ::= SET OF Certificate
113 CertificationPath ::= SEQUENCE {
114 userCertificate Certificate,
115 theCACertificates SEQUENCE OF CertificatePair OPTIONAL
118 CertificatePair ::= SEQUENCE {
119 issuedByThisCA [0] Certificate OPTIONAL,
120 issuedToThisCA [1] Certificate OPTIONAL
121 -- at least one of the pair shall be present
124 -- Certificate Revocation List (CRL)
125 CertificateList ::= SEQUENCE {
126 signedCertificateList SEQUENCE {
127 version Version OPTIONAL,
128 -- if present, version must be v2
129 signature AlgorithmIdentifier,
132 nextUpdate Time OPTIONAL,
135 SEQUENCE {userCertificate CertificateSerialNumber,
137 crlEntryExtensions Extensions OPTIONAL} OPTIONAL,
138 crlExtensions [0] Extensions OPTIONAL},
139 algorithmIdentifier AlgorithmIdentifier,
143 -- attribute certificate
144 AttributeCertificationPath ::= SEQUENCE {
145 attributeCertificate AttributeCertificate,
146 acPath SEQUENCE OF ACPathData OPTIONAL
149 ACPathData ::= SEQUENCE {
150 certificate [0] Certificate OPTIONAL,
151 attributeCertificate [1] AttributeCertificate OPTIONAL
154 --attributeCertificate ATTRIBUTE ::= {
155 -- WITH SYNTAX AttributeCertificate
156 -- EQUALITY MATCHING RULE attributeCertificateMatch
157 -- ID id-at-attributeCertificate
160 AttributeCertificate ::= SEQUENCE {
161 signedAttributeCertificateInfo AttributeCertificateInfo,
162 algorithmIdentifier AlgorithmIdentifier,
166 AttributeCertificateInfo ::= SEQUENCE {
167 version Version DEFAULT v1,
169 CHOICE {baseCertificateID [0] IssuerSerial,
170 subjectName [1] GeneralNames
173 signature AlgorithmIdentifier,
174 serialNumber CertificateSerialNumber,
175 attCertValidityPeriod AttCertValidityPeriod,
176 attributes SEQUENCE OF Attribute,
177 issuerUniqueID UniqueIdentifier OPTIONAL,
178 extensions Extensions OPTIONAL
181 IssuerSerial ::= SEQUENCE {
183 serial CertificateSerialNumber,
184 issuerUID UniqueIdentifier OPTIONAL
187 AttCertValidityPeriod ::= SEQUENCE {
188 notBeforeTime GeneralizedTime,
189 notAfterTime GeneralizedTime
192 --attributeCertificateMatch MATCHING-RULE ::= {
193 -- SYNTAX AttributeCertificateAssertion
194 -- ID id-mr-attributeCertificateMatch
197 AttributeCertificateAssertion ::= SEQUENCE {
199 [0] CHOICE {baseCertificateID [0] IssuerSerial,
200 subjectName [1] SubjectName} OPTIONAL,
201 issuer [1] Name OPTIONAL,
202 attCertValidity [2] GeneralizedTime OPTIONAL,
203 attType [3] SET OF AttributeType OPTIONAL
206 -- At least one component of the sequence must be present
208 --userPassword ATTRIBUTE ::= {
209 -- WITH SYNTAX OCTET STRING(SIZE (0..ub-user-password))
210 -- EQUALITY MATCHING RULE octetStringMatch
211 -- ID id-at-userPassword
214 --userCertificate ATTRIBUTE ::= {
215 -- WITH SYNTAX Certificate
216 -- EQUALITY MATCHING RULE certificateExactMatch
217 -- ID id-at-userCertificate
220 --cACertificate ATTRIBUTE ::= {
221 -- WITH SYNTAX Certificate
222 -- EQUALITY MATCHING RULE certificateExactMatch
223 -- ID id-at-cAcertificate
226 --crossCertificatePair ATTRIBUTE ::= {
227 -- WITH SYNTAX CertificatePair
228 -- EQUALITY MATCHING RULE certificatePairExactMatch
229 -- ID id-at-crossCertificatePair
232 --authorityRevocationList ATTRIBUTE ::= {
233 -- WITH SYNTAX CertificateList
234 -- EQUALITY MATCHING RULE certificateListExactMatch
235 -- ID id-at-authorityRevocationList
238 --certificateRevocationList ATTRIBUTE ::= {
239 -- WITH SYNTAX CertificateList
240 -- EQUALITY MATCHING RULE certificateListExactMatch
241 -- ID id-at-certificateRevocationList
244 --attributeCertificateRevocationList ATTRIBUTE ::= {
245 -- WITH SYNTAX CertificateList
246 -- ID id-at-attributeCertificateRevocationList
249 -- information object classes
250 --ALGORITHM ::= TYPE-IDENTIFIER
252 -- object identifier assignments
253 --id-at-userPassword OBJECT IDENTIFIER ::=
256 id-at-userCertificate OBJECT IDENTIFIER ::= {id-at 36}
258 id-at-cAcertificate OBJECT IDENTIFIER ::= {id-at 37}
260 id-at-authorityRevocationList OBJECT IDENTIFIER ::= {id-at 38}
262 id-at-certificateRevocationList OBJECT IDENTIFIER ::= {id-at 39}
264 id-at-crossCertificatePair OBJECT IDENTIFIER ::= {id-at 40}
266 id-at-attributeCertificate OBJECT IDENTIFIER ::= {id-at 58}
268 id-at-attributeCertificateRevocationList OBJECT IDENTIFIER ::= {id-at 59}
270 --id-mr-attributeCertificateMatch OBJECT IDENTIFIER ::= {id-mr 42}
272 -- these are sneaked in from DSS - a separate dissector seems OTT
274 DSS-Params ::= SEQUENCE {
279 -- WS Add some stuff fytom RFC 1274
281 ub-user-identifier INTEGER ::= 256
282 Userid ::= UTF8String (SIZE (1 .. ub-user-identifier))
286 -- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D