xref: /freebsd/crypto/heimdal/lib/asn1/rfc2459.asn1 (revision 6a068746777241722b2b32c5d0bc443a2a64d80b)
1c19800e8SDoug Rabson-- $Id$ --
2c19800e8SDoug Rabson-- Definitions from rfc2459/rfc3280
3c19800e8SDoug Rabson
45e9cd1aeSAssar WesterlundRFC2459 DEFINITIONS ::= BEGIN
55e9cd1aeSAssar Westerlund
6c19800e8SDoug RabsonIMPORTS heim_any FROM heim;
75e9cd1aeSAssar Westerlund
8c19800e8SDoug RabsonVersion ::=  INTEGER {
9c19800e8SDoug Rabson	rfc3280_version_1(0),
10c19800e8SDoug Rabson	rfc3280_version_2(1),
11c19800e8SDoug Rabson	rfc3280_version_3(2)
12c19800e8SDoug Rabson}
13c19800e8SDoug Rabson
14c19800e8SDoug Rabsonid-pkcs-1 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
15c19800e8SDoug Rabson	rsadsi(113549) pkcs(1) 1 }
16c19800e8SDoug Rabsonid-pkcs1-rsaEncryption OBJECT IDENTIFIER ::=		{ id-pkcs-1 1 }
17c19800e8SDoug Rabsonid-pkcs1-md2WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 2 }
18c19800e8SDoug Rabsonid-pkcs1-md5WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 4 }
19c19800e8SDoug Rabsonid-pkcs1-sha1WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 5 }
20c19800e8SDoug Rabsonid-pkcs1-sha256WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 11 }
21c19800e8SDoug Rabsonid-pkcs1-sha384WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 12 }
22c19800e8SDoug Rabsonid-pkcs1-sha512WithRSAEncryption OBJECT IDENTIFIER ::=	{ id-pkcs-1 13 }
23c19800e8SDoug Rabson
24c19800e8SDoug Rabsonid-heim-rsa-pkcs1-x509 OBJECT IDENTIFIER ::= { 1  2 752 43 16 1 }
25c19800e8SDoug Rabson
26c19800e8SDoug Rabsonid-pkcs-2 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
27c19800e8SDoug Rabson	rsadsi(113549) pkcs(1) 2 }
28c19800e8SDoug Rabsonid-pkcs2-md2 OBJECT IDENTIFIER ::=		{ id-pkcs-2 2 }
29c19800e8SDoug Rabsonid-pkcs2-md4 OBJECT IDENTIFIER ::=		{ id-pkcs-2 4 }
30c19800e8SDoug Rabsonid-pkcs2-md5 OBJECT IDENTIFIER ::=		{ id-pkcs-2 5 }
31c19800e8SDoug Rabson
32c19800e8SDoug Rabsonid-rsa-digestAlgorithm OBJECT IDENTIFIER ::=
33c19800e8SDoug Rabson{ iso(1) member-body(2) us(840) rsadsi(113549) 2 }
34c19800e8SDoug Rabson
35c19800e8SDoug Rabsonid-rsa-digest-md2 OBJECT IDENTIFIER ::= { id-rsa-digestAlgorithm 2 }
36c19800e8SDoug Rabsonid-rsa-digest-md4 OBJECT IDENTIFIER ::= { id-rsa-digestAlgorithm 4 }
37c19800e8SDoug Rabsonid-rsa-digest-md5 OBJECT IDENTIFIER ::= { id-rsa-digestAlgorithm 5 }
38c19800e8SDoug Rabson
39c19800e8SDoug Rabsonid-pkcs-3 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
40c19800e8SDoug Rabson	rsadsi(113549) pkcs(1) 3 }
41c19800e8SDoug Rabson
42c19800e8SDoug Rabsonid-pkcs3-rc2-cbc OBJECT IDENTIFIER ::=		{ id-pkcs-3 2 }
43c19800e8SDoug Rabsonid-pkcs3-rc4     OBJECT IDENTIFIER ::=		{ id-pkcs-3 4 }
44c19800e8SDoug Rabsonid-pkcs3-des-ede3-cbc OBJECT IDENTIFIER ::=	{ id-pkcs-3 7 }
45c19800e8SDoug Rabson
46c19800e8SDoug Rabsonid-rsadsi-encalg OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
47c19800e8SDoug Rabson	rsadsi(113549) 3 }
48c19800e8SDoug Rabson
49c19800e8SDoug Rabsonid-rsadsi-rc2-cbc OBJECT IDENTIFIER ::=		{ id-rsadsi-encalg 2 }
50c19800e8SDoug Rabsonid-rsadsi-des-ede3-cbc OBJECT IDENTIFIER ::=	{ id-rsadsi-encalg 7 }
51c19800e8SDoug Rabson
52c19800e8SDoug Rabsonid-secsig-sha-1 OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
53c19800e8SDoug Rabson	oiw(14) secsig(3) algorithm(2) 26 }
54c19800e8SDoug Rabson
55*ae771770SStanislav Sedovid-secsig-sha-1WithRSAEncryption OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
56*ae771770SStanislav Sedov	oiw(14) secsig(3) algorithm(2) 29 }
57*ae771770SStanislav Sedov
58c19800e8SDoug Rabsonid-nistAlgorithm OBJECT IDENTIFIER ::= {
59c19800e8SDoug Rabson   joint-iso-itu-t(2) country(16) us(840) organization(1) gov(101) csor(3) 4 }
60c19800e8SDoug Rabson
61c19800e8SDoug Rabsonid-nist-aes-algs OBJECT IDENTIFIER ::= { id-nistAlgorithm 1 }
62c19800e8SDoug Rabson
63c19800e8SDoug Rabsonid-aes-128-cbc OBJECT IDENTIFIER ::=		{ id-nist-aes-algs 2 }
64c19800e8SDoug Rabsonid-aes-192-cbc OBJECT IDENTIFIER ::=		{ id-nist-aes-algs 22 }
65c19800e8SDoug Rabsonid-aes-256-cbc OBJECT IDENTIFIER ::=		{ id-nist-aes-algs 42 }
66c19800e8SDoug Rabson
67c19800e8SDoug Rabsonid-nist-sha-algs OBJECT IDENTIFIER ::=		{ id-nistAlgorithm 2 }
68c19800e8SDoug Rabson
69c19800e8SDoug Rabsonid-sha256 OBJECT IDENTIFIER ::=			{ id-nist-sha-algs 1 }
70c19800e8SDoug Rabsonid-sha224 OBJECT IDENTIFIER ::=			{ id-nist-sha-algs 4 }
71c19800e8SDoug Rabsonid-sha384 OBJECT IDENTIFIER ::=			{ id-nist-sha-algs 2 }
72c19800e8SDoug Rabsonid-sha512 OBJECT IDENTIFIER ::=			{ id-nist-sha-algs 3 }
73c19800e8SDoug Rabson
74c19800e8SDoug Rabsonid-dhpublicnumber OBJECT IDENTIFIER ::= {
75c19800e8SDoug Rabson        iso(1) member-body(2) us(840) ansi-x942(10046)
76c19800e8SDoug Rabson        number-type(2) 1 }
77c19800e8SDoug Rabson
78*ae771770SStanislav Sedov-- ECC
79*ae771770SStanislav Sedov
80*ae771770SStanislav Sedovid-ecPublicKey OBJECT IDENTIFIER ::= {
81*ae771770SStanislav Sedov       iso(1) member-body(2) us(840) ansi-X9-62(10045) keyType(2) 1 }
82*ae771770SStanislav Sedov
83*ae771770SStanislav Sedovid-ecDH OBJECT IDENTIFIER ::= {
84*ae771770SStanislav Sedov       iso(1) identified-organization(3) certicom(132) schemes(1)
85*ae771770SStanislav Sedov       ecdh(12) }
86*ae771770SStanislav Sedov
87*ae771770SStanislav Sedovid-ecMQV OBJECT IDENTIFIER ::= {
88*ae771770SStanislav Sedov       iso(1) identified-organization(3) certicom(132) schemes(1)
89*ae771770SStanislav Sedov       ecmqv(13) }
90*ae771770SStanislav Sedov
91*ae771770SStanislav Sedovid-ecdsa-with-SHA256 OBJECT IDENTIFIER ::= {
92*ae771770SStanislav Sedov     iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4)
93*ae771770SStanislav Sedov     ecdsa-with-SHA2(3) 2 }
94*ae771770SStanislav Sedov
95*ae771770SStanislav Sedovid-ecdsa-with-SHA1 OBJECT IDENTIFIER ::= {
96*ae771770SStanislav Sedov     iso(1) member-body(2) us(840) ansi-X9-62(10045) signatures(4) 1 }
97*ae771770SStanislav Sedov
98*ae771770SStanislav Sedov-- some EC group ids
99*ae771770SStanislav Sedov
100*ae771770SStanislav Sedovid-ec-group-secp256r1 OBJECT IDENTIFIER ::= {
101*ae771770SStanislav Sedov       iso(1) member-body(2) us(840) ansi-X9-62(10045) curves(3)
102*ae771770SStanislav Sedov       prime(1) 7 }
103*ae771770SStanislav Sedov
104*ae771770SStanislav Sedovid-ec-group-secp160r1 OBJECT IDENTIFIER ::= {
105*ae771770SStanislav Sedov       iso(1) identified-organization(3) certicom(132) 0 8 }
106*ae771770SStanislav Sedov
107*ae771770SStanislav Sedovid-ec-group-secp160r2 OBJECT IDENTIFIER ::= {
108*ae771770SStanislav Sedov       iso(1) identified-organization(3) certicom(132) 0 30 }
109*ae771770SStanislav Sedov
110*ae771770SStanislav Sedov-- DSA
111*ae771770SStanislav Sedov
112c19800e8SDoug Rabsonid-x9-57 OBJECT IDENTIFIER ::= {
113*ae771770SStanislav Sedov        iso(1) member-body(2) us(840) ansi-x942(10046) 4 }
114c19800e8SDoug Rabson
115c19800e8SDoug Rabsonid-dsa OBJECT IDENTIFIER ::=		{ id-x9-57 1 }
116c19800e8SDoug Rabsonid-dsa-with-sha1 OBJECT IDENTIFIER ::=		{ id-x9-57 3 }
117c19800e8SDoug Rabson
118c19800e8SDoug Rabson-- x.520 names types
119c19800e8SDoug Rabson
120c19800e8SDoug Rabsonid-x520-at 	OBJECT IDENTIFIER ::= { joint-iso-ccitt(2) ds(5) 4 }
121c19800e8SDoug Rabson
122c19800e8SDoug Rabsonid-at-commonName		OBJECT IDENTIFIER ::= { id-x520-at 3 }
123c19800e8SDoug Rabsonid-at-surname			OBJECT IDENTIFIER ::= { id-x520-at 4 }
124c19800e8SDoug Rabsonid-at-serialNumber		OBJECT IDENTIFIER ::= { id-x520-at 5 }
125c19800e8SDoug Rabsonid-at-countryName		OBJECT IDENTIFIER ::= { id-x520-at 6 }
126c19800e8SDoug Rabsonid-at-localityName		OBJECT IDENTIFIER ::= { id-x520-at 7 }
127c19800e8SDoug Rabsonid-at-stateOrProvinceName	OBJECT IDENTIFIER ::= { id-x520-at 8 }
128c19800e8SDoug Rabsonid-at-streetAddress		OBJECT IDENTIFIER ::= { id-x520-at 9 }
129c19800e8SDoug Rabsonid-at-organizationName		OBJECT IDENTIFIER ::= { id-x520-at 10 }
130c19800e8SDoug Rabsonid-at-organizationalUnitName	OBJECT IDENTIFIER ::= { id-x520-at 11 }
131c19800e8SDoug Rabsonid-at-name			OBJECT IDENTIFIER ::= { id-x520-at 41 }
132c19800e8SDoug Rabsonid-at-givenName			OBJECT IDENTIFIER ::= { id-x520-at 42 }
133c19800e8SDoug Rabsonid-at-initials			OBJECT IDENTIFIER ::= { id-x520-at 43 }
134c19800e8SDoug Rabsonid-at-generationQualifier	OBJECT IDENTIFIER ::= { id-x520-at 44 }
135c19800e8SDoug Rabsonid-at-pseudonym			OBJECT IDENTIFIER ::= { id-x520-at 65 }
136c19800e8SDoug Rabson-- RFC 2247
137c19800e8SDoug Rabsonid-Userid		      	OBJECT IDENTIFIER ::=
138c19800e8SDoug Rabson                          { 0 9 2342 19200300 100 1 1 }
139c19800e8SDoug Rabsonid-domainComponent      	OBJECT IDENTIFIER ::=
140c19800e8SDoug Rabson                          { 0 9 2342 19200300 100 1 25 }
141c19800e8SDoug Rabson
142c19800e8SDoug Rabson
143c19800e8SDoug Rabson-- rfc3280
144c19800e8SDoug Rabson
145c19800e8SDoug Rabsonid-x509-ce OBJECT IDENTIFIER ::= {joint-iso-ccitt(2) ds(5) 29}
146c19800e8SDoug Rabson
147c19800e8SDoug RabsonAlgorithmIdentifier ::= SEQUENCE {
148c19800e8SDoug Rabson	algorithm	OBJECT IDENTIFIER,
149c19800e8SDoug Rabson	parameters	heim_any OPTIONAL
150c19800e8SDoug Rabson}
151c19800e8SDoug Rabson
152c19800e8SDoug RabsonAttributeType ::=   OBJECT IDENTIFIER
153c19800e8SDoug Rabson
154c19800e8SDoug RabsonAttributeValue ::=   heim_any
155c19800e8SDoug Rabson
156c19800e8SDoug RabsonDirectoryString ::= CHOICE {
157c19800e8SDoug Rabson	ia5String	IA5String,
158*ae771770SStanislav Sedov	teletexString	TeletexString,
159c19800e8SDoug Rabson	printableString	PrintableString,
160c19800e8SDoug Rabson	universalString UniversalString,
161c19800e8SDoug Rabson	utf8String	UTF8String,
162c19800e8SDoug Rabson	bmpString	BMPString
163c19800e8SDoug Rabson}
164c19800e8SDoug Rabson
165c19800e8SDoug RabsonAttribute ::= SEQUENCE {
166c19800e8SDoug Rabson        type    AttributeType,
167c19800e8SDoug Rabson        value   SET OF -- AttributeValue -- heim_any
168c19800e8SDoug Rabson}
1695e9cd1aeSAssar Westerlund
1705e9cd1aeSAssar WesterlundAttributeTypeAndValue ::= SEQUENCE {
1715e9cd1aeSAssar Westerlund        type    AttributeType,
172c19800e8SDoug Rabson        value   DirectoryString
1735e9cd1aeSAssar Westerlund}
1745e9cd1aeSAssar Westerlund
175c19800e8SDoug RabsonRelativeDistinguishedName ::= SET OF AttributeTypeAndValue
1765e9cd1aeSAssar Westerlund
1775e9cd1aeSAssar WesterlundRDNSequence ::= SEQUENCE OF RelativeDistinguishedName
1785e9cd1aeSAssar Westerlund
179c19800e8SDoug RabsonName ::= CHOICE {
180c19800e8SDoug Rabson	rdnSequence  RDNSequence
1815e9cd1aeSAssar Westerlund}
1825e9cd1aeSAssar Westerlund
183c19800e8SDoug RabsonCertificateSerialNumber ::= INTEGER
184c19800e8SDoug Rabson
185c19800e8SDoug RabsonTime ::= CHOICE {
186c19800e8SDoug Rabson     utcTime        UTCTime,
187c19800e8SDoug Rabson     generalTime    GeneralizedTime
188c19800e8SDoug Rabson}
189c19800e8SDoug Rabson
190c19800e8SDoug RabsonValidity ::= SEQUENCE {
191c19800e8SDoug Rabson     notBefore      Time,
192c19800e8SDoug Rabson     notAfter       Time
193c19800e8SDoug Rabson}
194c19800e8SDoug Rabson
195c19800e8SDoug RabsonUniqueIdentifier  ::=  BIT STRING
196c19800e8SDoug Rabson
197c19800e8SDoug RabsonSubjectPublicKeyInfo  ::=  SEQUENCE  {
198c19800e8SDoug Rabson     algorithm            AlgorithmIdentifier,
199c19800e8SDoug Rabson     subjectPublicKey     BIT STRING
200c19800e8SDoug Rabson}
201c19800e8SDoug Rabson
202c19800e8SDoug RabsonExtension  ::=  SEQUENCE  {
203c19800e8SDoug Rabson     extnID      OBJECT IDENTIFIER,
204c19800e8SDoug Rabson     critical    BOOLEAN OPTIONAL, -- DEFAULT FALSE XXX
205c19800e8SDoug Rabson     extnValue   OCTET STRING
206c19800e8SDoug Rabson}
207c19800e8SDoug Rabson
208c19800e8SDoug RabsonExtensions  ::=  SEQUENCE SIZE (1..MAX) OF Extension
209c19800e8SDoug Rabson
210c19800e8SDoug RabsonTBSCertificate  ::=  SEQUENCE  {
211c19800e8SDoug Rabson     version         [0]  Version OPTIONAL, -- EXPLICIT nnn DEFAULT 1,
212c19800e8SDoug Rabson     serialNumber         CertificateSerialNumber,
213c19800e8SDoug Rabson     signature            AlgorithmIdentifier,
214c19800e8SDoug Rabson     issuer               Name,
215c19800e8SDoug Rabson     validity             Validity,
216c19800e8SDoug Rabson     subject              Name,
217c19800e8SDoug Rabson     subjectPublicKeyInfo SubjectPublicKeyInfo,
218c19800e8SDoug Rabson     issuerUniqueID  [1]  IMPLICIT BIT STRING -- UniqueIdentifier -- OPTIONAL,
219c19800e8SDoug Rabson                          -- If present, version shall be v2 or v3
220c19800e8SDoug Rabson     subjectUniqueID [2]  IMPLICIT BIT STRING -- UniqueIdentifier -- OPTIONAL,
221c19800e8SDoug Rabson                          -- If present, version shall be v2 or v3
222c19800e8SDoug Rabson     extensions      [3]  EXPLICIT Extensions OPTIONAL
223c19800e8SDoug Rabson                          -- If present, version shall be v3
224c19800e8SDoug Rabson}
225c19800e8SDoug Rabson
226c19800e8SDoug RabsonCertificate  ::=  SEQUENCE  {
227c19800e8SDoug Rabson     tbsCertificate       TBSCertificate,
228c19800e8SDoug Rabson     signatureAlgorithm   AlgorithmIdentifier,
229c19800e8SDoug Rabson     signatureValue       BIT STRING
230c19800e8SDoug Rabson}
231c19800e8SDoug Rabson
232c19800e8SDoug RabsonCertificates ::= SEQUENCE OF Certificate
233c19800e8SDoug Rabson
234c19800e8SDoug RabsonValidationParms ::= SEQUENCE {
235c19800e8SDoug Rabson	seed		BIT STRING,
236c19800e8SDoug Rabson	pgenCounter	INTEGER
237c19800e8SDoug Rabson}
238c19800e8SDoug Rabson
239c19800e8SDoug RabsonDomainParameters ::= SEQUENCE {
240c19800e8SDoug Rabson	p		INTEGER, -- odd prime, p=jq +1
241c19800e8SDoug Rabson	g		INTEGER, -- generator, g
242c19800e8SDoug Rabson	q		INTEGER, -- factor of p-1
243c19800e8SDoug Rabson	j		INTEGER OPTIONAL, -- subgroup factor
244c19800e8SDoug Rabson	validationParms	ValidationParms OPTIONAL -- ValidationParms
245c19800e8SDoug Rabson}
246c19800e8SDoug Rabson
247*ae771770SStanislav Sedov-- As defined by PKCS3
248*ae771770SStanislav SedovDHParameter ::= SEQUENCE {
249*ae771770SStanislav Sedov	prime		INTEGER, -- odd prime, p=jq +1
250*ae771770SStanislav Sedov	base		INTEGER, -- generator, g
251*ae771770SStanislav Sedov	privateValueLength INTEGER OPTIONAL
252*ae771770SStanislav Sedov}
253*ae771770SStanislav Sedov
254c19800e8SDoug RabsonDHPublicKey ::= INTEGER
255c19800e8SDoug Rabson
256c19800e8SDoug RabsonOtherName ::= SEQUENCE {
257c19800e8SDoug Rabson	type-id    OBJECT IDENTIFIER,
258c19800e8SDoug Rabson	value      [0] EXPLICIT heim_any
259c19800e8SDoug Rabson}
260c19800e8SDoug Rabson
261c19800e8SDoug RabsonGeneralName ::= CHOICE {
262c19800e8SDoug Rabson	otherName			[0]     IMPLICIT -- OtherName -- SEQUENCE {
263c19800e8SDoug Rabson		type-id    OBJECT IDENTIFIER,
264c19800e8SDoug Rabson		value      [0] EXPLICIT heim_any
265c19800e8SDoug Rabson	},
266c19800e8SDoug Rabson	rfc822Name			[1]     IMPLICIT IA5String,
267c19800e8SDoug Rabson	dNSName				[2]     IMPLICIT IA5String,
268c19800e8SDoug Rabson--	x400Address			[3]     IMPLICIT ORAddress,--
269c19800e8SDoug Rabson	directoryName			[4]     IMPLICIT -- Name -- CHOICE {
270c19800e8SDoug Rabson		rdnSequence  RDNSequence
271c19800e8SDoug Rabson	},
272c19800e8SDoug Rabson--	ediPartyName			[5]     IMPLICIT EDIPartyName, --
273c19800e8SDoug Rabson	uniformResourceIdentifier	[6]     IMPLICIT IA5String,
274c19800e8SDoug Rabson	iPAddress			[7]     IMPLICIT OCTET STRING,
275c19800e8SDoug Rabson	registeredID			[8]     IMPLICIT OBJECT IDENTIFIER
276c19800e8SDoug Rabson}
277c19800e8SDoug Rabson
278c19800e8SDoug RabsonGeneralNames ::= SEQUENCE SIZE (1..MAX) OF GeneralName
279c19800e8SDoug Rabson
280c19800e8SDoug Rabsonid-x509-ce-keyUsage OBJECT IDENTIFIER ::=  { id-x509-ce 15 }
281c19800e8SDoug Rabson
282c19800e8SDoug RabsonKeyUsage ::= BIT STRING {
283c19800e8SDoug Rabson	digitalSignature	(0),
284c19800e8SDoug Rabson	nonRepudiation		(1),
285c19800e8SDoug Rabson	keyEncipherment		(2),
286c19800e8SDoug Rabson	dataEncipherment	(3),
287c19800e8SDoug Rabson	keyAgreement		(4),
288c19800e8SDoug Rabson	keyCertSign		(5),
289c19800e8SDoug Rabson	cRLSign			(6),
290c19800e8SDoug Rabson	encipherOnly		(7),
291c19800e8SDoug Rabson	decipherOnly		(8)
292c19800e8SDoug Rabson}
293c19800e8SDoug Rabson
294c19800e8SDoug Rabsonid-x509-ce-authorityKeyIdentifier OBJECT IDENTIFIER ::=  { id-x509-ce 35 }
295c19800e8SDoug Rabson
296c19800e8SDoug RabsonKeyIdentifier ::= OCTET STRING
297c19800e8SDoug Rabson
298c19800e8SDoug RabsonAuthorityKeyIdentifier ::= SEQUENCE {
299c19800e8SDoug Rabson	keyIdentifier             [0] IMPLICIT OCTET STRING OPTIONAL,
300c19800e8SDoug Rabson	authorityCertIssuer       [1] IMPLICIT -- GeneralName --
301c19800e8SDoug Rabson		SEQUENCE -- SIZE (1..MAX) -- OF GeneralName OPTIONAL,
302c19800e8SDoug Rabson	authorityCertSerialNumber [2] IMPLICIT INTEGER OPTIONAL
303c19800e8SDoug Rabson}
304c19800e8SDoug Rabson
305c19800e8SDoug Rabsonid-x509-ce-subjectKeyIdentifier OBJECT IDENTIFIER ::=  { id-x509-ce 14 }
306c19800e8SDoug Rabson
307c19800e8SDoug RabsonSubjectKeyIdentifier ::= KeyIdentifier
308c19800e8SDoug Rabson
309c19800e8SDoug Rabsonid-x509-ce-basicConstraints OBJECT IDENTIFIER ::=  { id-x509-ce 19 }
310c19800e8SDoug Rabson
311c19800e8SDoug RabsonBasicConstraints ::= SEQUENCE {
312c19800e8SDoug Rabson	cA                      BOOLEAN OPTIONAL -- DEFAULT FALSE --,
313c19800e8SDoug Rabson	pathLenConstraint	INTEGER (0..4294967295) OPTIONAL
314c19800e8SDoug Rabson}
315c19800e8SDoug Rabson
316c19800e8SDoug Rabsonid-x509-ce-nameConstraints OBJECT IDENTIFIER ::=  { id-x509-ce 30 }
317c19800e8SDoug Rabson
318c19800e8SDoug RabsonBaseDistance ::= INTEGER -- (0..MAX) --
319c19800e8SDoug Rabson
320c19800e8SDoug RabsonGeneralSubtree ::= SEQUENCE {
321c19800e8SDoug Rabson	base			GeneralName,
322c19800e8SDoug Rabson	minimum		[0]	IMPLICIT -- BaseDistance -- INTEGER OPTIONAL -- DEFAULT 0 --,
323c19800e8SDoug Rabson	maximum		[1]	IMPLICIT -- BaseDistance -- INTEGER OPTIONAL
324c19800e8SDoug Rabson}
325c19800e8SDoug Rabson
326c19800e8SDoug RabsonGeneralSubtrees ::= SEQUENCE -- SIZE (1..MAX) -- OF GeneralSubtree
327c19800e8SDoug Rabson
328c19800e8SDoug RabsonNameConstraints ::= SEQUENCE {
329c19800e8SDoug Rabson	permittedSubtrees       [0]     IMPLICIT -- GeneralSubtrees -- SEQUENCE OF GeneralSubtree OPTIONAL,
330c19800e8SDoug Rabson	excludedSubtrees        [1]     IMPLICIT -- GeneralSubtrees -- SEQUENCE OF GeneralSubtree OPTIONAL
331c19800e8SDoug Rabson}
332c19800e8SDoug Rabson
333c19800e8SDoug Rabsonid-x509-ce-privateKeyUsagePeriod OBJECT IDENTIFIER ::=  { id-x509-ce 16 }
334c19800e8SDoug Rabsonid-x509-ce-certificatePolicies OBJECT IDENTIFIER ::=  { id-x509-ce 32 }
335c19800e8SDoug Rabsonid-x509-ce-policyMappings OBJECT IDENTIFIER ::=  { id-x509-ce 33 }
336c19800e8SDoug Rabsonid-x509-ce-subjectAltName OBJECT IDENTIFIER ::=  { id-x509-ce 17 }
337c19800e8SDoug Rabsonid-x509-ce-issuerAltName OBJECT IDENTIFIER ::=  { id-x509-ce 18 }
338c19800e8SDoug Rabsonid-x509-ce-subjectDirectoryAttributes OBJECT IDENTIFIER ::=  { id-x509-ce 9 }
339c19800e8SDoug Rabsonid-x509-ce-policyConstraints OBJECT IDENTIFIER ::=  { id-x509-ce 36 }
340c19800e8SDoug Rabson
341c19800e8SDoug Rabsonid-x509-ce-extKeyUsage OBJECT IDENTIFIER ::= { id-x509-ce 37}
342c19800e8SDoug Rabson
343c19800e8SDoug RabsonExtKeyUsage ::= SEQUENCE OF OBJECT IDENTIFIER
344c19800e8SDoug Rabson
345c19800e8SDoug Rabsonid-x509-ce-cRLDistributionPoints OBJECT IDENTIFIER ::=  { id-x509-ce 31 }
346c19800e8SDoug Rabsonid-x509-ce-deltaCRLIndicator OBJECT IDENTIFIER ::= { id-x509-ce 27 }
347c19800e8SDoug Rabsonid-x509-ce-issuingDistributionPoint OBJECT IDENTIFIER ::= { id-x509-ce 28 }
348c19800e8SDoug Rabsonid-x509-ce-holdInstructionCode OBJECT IDENTIFIER ::= { id-x509-ce 23 }
349c19800e8SDoug Rabsonid-x509-ce-invalidityDate OBJECT IDENTIFIER ::= { id-x509-ce 24 }
350c19800e8SDoug Rabsonid-x509-ce-certificateIssuer   OBJECT IDENTIFIER ::= { id-x509-ce 29 }
351c19800e8SDoug Rabsonid-x509-ce-inhibitAnyPolicy OBJECT IDENTIFIER ::=  { id-x509-ce 54 }
352c19800e8SDoug Rabson
353c19800e8SDoug RabsonDistributionPointReasonFlags ::= BIT STRING {
354c19800e8SDoug Rabson	unused                  (0),
355c19800e8SDoug Rabson	keyCompromise           (1),
356c19800e8SDoug Rabson	cACompromise            (2),
357c19800e8SDoug Rabson	affiliationChanged      (3),
358c19800e8SDoug Rabson	superseded              (4),
359c19800e8SDoug Rabson	cessationOfOperation    (5),
360c19800e8SDoug Rabson	certificateHold         (6),
361c19800e8SDoug Rabson	privilegeWithdrawn      (7),
362c19800e8SDoug Rabson	aACompromise            (8)
363c19800e8SDoug Rabson}
364c19800e8SDoug Rabson
365c19800e8SDoug RabsonDistributionPointName ::= CHOICE {
366c19800e8SDoug Rabson	fullName                [0]     IMPLICIT -- GeneralNames --  SEQUENCE SIZE (1..MAX) OF GeneralName,
367c19800e8SDoug Rabson	nameRelativeToCRLIssuer [1]     RelativeDistinguishedName
368c19800e8SDoug Rabson}
369c19800e8SDoug Rabson
370c19800e8SDoug RabsonDistributionPoint ::= SEQUENCE {
371c19800e8SDoug Rabson	distributionPoint       [0]     IMPLICIT heim_any -- DistributionPointName -- OPTIONAL,
372c19800e8SDoug Rabson	reasons                 [1]     IMPLICIT heim_any -- DistributionPointReasonFlags -- OPTIONAL,
373c19800e8SDoug Rabson	cRLIssuer               [2]     IMPLICIT heim_any -- GeneralNames -- OPTIONAL
374c19800e8SDoug Rabson}
375c19800e8SDoug Rabson
376c19800e8SDoug RabsonCRLDistributionPoints ::= SEQUENCE SIZE (1..MAX) OF DistributionPoint
377c19800e8SDoug Rabson
378c19800e8SDoug Rabson
379c19800e8SDoug Rabson-- rfc3279
380c19800e8SDoug Rabson
381c19800e8SDoug RabsonDSASigValue  ::=  SEQUENCE {
382c19800e8SDoug Rabson	r	INTEGER,
383c19800e8SDoug Rabson	s	INTEGER
384c19800e8SDoug Rabson}
385c19800e8SDoug Rabson
386c19800e8SDoug RabsonDSAPublicKey ::= INTEGER
387c19800e8SDoug Rabson
388c19800e8SDoug RabsonDSAParams  ::=  SEQUENCE {
389c19800e8SDoug Rabson	p	INTEGER,
390c19800e8SDoug Rabson	q	INTEGER,
391c19800e8SDoug Rabson	g	INTEGER
392c19800e8SDoug Rabson}
393c19800e8SDoug Rabson
394*ae771770SStanislav Sedov-- draft-ietf-pkix-ecc-subpubkeyinfo-11
395*ae771770SStanislav Sedov
396*ae771770SStanislav SedovECPoint ::= OCTET STRING
397*ae771770SStanislav Sedov
398*ae771770SStanislav SedovECParameters ::= CHOICE {
399*ae771770SStanislav Sedov	namedCurve         OBJECT IDENTIFIER
400*ae771770SStanislav Sedov	-- implicitCurve   NULL
401*ae771770SStanislav Sedov	-- specifiedCurve  SpecifiedECDomain
402*ae771770SStanislav Sedov}
403*ae771770SStanislav Sedov
404*ae771770SStanislav SedovECDSA-Sig-Value ::= SEQUENCE {
405*ae771770SStanislav Sedov     r  INTEGER,
406*ae771770SStanislav Sedov     s  INTEGER
407*ae771770SStanislav Sedov}
408*ae771770SStanislav Sedov
409c19800e8SDoug Rabson-- really pkcs1
410c19800e8SDoug Rabson
411c19800e8SDoug RabsonRSAPublicKey ::= SEQUENCE {
412c19800e8SDoug Rabson	modulus INTEGER, -- n
413c19800e8SDoug Rabson	publicExponent INTEGER -- e
414c19800e8SDoug Rabson}
415c19800e8SDoug Rabson
416c19800e8SDoug RabsonRSAPrivateKey ::= SEQUENCE {
417c19800e8SDoug Rabson	version INTEGER (0..4294967295),
418c19800e8SDoug Rabson	modulus INTEGER, -- n
419c19800e8SDoug Rabson	publicExponent INTEGER, -- e
420c19800e8SDoug Rabson	privateExponent INTEGER, -- d
421c19800e8SDoug Rabson	prime1 INTEGER, -- p
422c19800e8SDoug Rabson	prime2 INTEGER, -- q
423c19800e8SDoug Rabson	exponent1 INTEGER, -- d mod (p-1)
424c19800e8SDoug Rabson	exponent2 INTEGER, -- d mod (q-1)
425c19800e8SDoug Rabson	coefficient INTEGER -- (inverse of q) mod p
426c19800e8SDoug Rabson}
427c19800e8SDoug Rabson
428c19800e8SDoug RabsonDigestInfo ::= SEQUENCE {
429c19800e8SDoug Rabson	digestAlgorithm AlgorithmIdentifier,
430c19800e8SDoug Rabson	digest OCTET STRING
431c19800e8SDoug Rabson}
432c19800e8SDoug Rabson
433c19800e8SDoug Rabson-- some ms ext
434c19800e8SDoug Rabson
435c19800e8SDoug Rabson-- szOID_ENROLL_CERTTYPE_EXTENSION "1.3.6.1.4.1.311.20.2" is Encoded as a
436c19800e8SDoug Rabson
437c19800e8SDoug Rabson-- UNICODESTRING (0x1E tag)
438c19800e8SDoug Rabson
439c19800e8SDoug Rabson-- szOID_CERTIFICATE_TEMPLATE "1.3.6.1.4.1.311.21.7" is Encoded as:
440c19800e8SDoug Rabson
441c19800e8SDoug Rabson-- TemplateVersion ::= INTEGER (0..4294967295)
442c19800e8SDoug Rabson
443c19800e8SDoug Rabson-- CertificateTemplate ::= SEQUENCE {
444c19800e8SDoug Rabson--	templateID OBJECT IDENTIFIER,
445c19800e8SDoug Rabson--	templateMajorVersion TemplateVersion,
446c19800e8SDoug Rabson--	templateMinorVersion TemplateVersion OPTIONAL
447c19800e8SDoug Rabson-- }
448c19800e8SDoug Rabson
449c19800e8SDoug Rabson
450c19800e8SDoug Rabson--
451c19800e8SDoug Rabson-- CRL
452c19800e8SDoug Rabson--
453c19800e8SDoug Rabson
454c19800e8SDoug RabsonTBSCRLCertList ::=  SEQUENCE  {
455c19800e8SDoug Rabson	version			Version OPTIONAL, -- if present, MUST be v2
456c19800e8SDoug Rabson	signature		AlgorithmIdentifier,
457c19800e8SDoug Rabson	issuer			Name,
458c19800e8SDoug Rabson	thisUpdate		Time,
459c19800e8SDoug Rabson	nextUpdate		Time OPTIONAL,
460c19800e8SDoug Rabson	revokedCertificates     SEQUENCE OF SEQUENCE  {
461c19800e8SDoug Rabson		userCertificate         CertificateSerialNumber,
462c19800e8SDoug Rabson		revocationDate          Time,
463c19800e8SDoug Rabson		crlEntryExtensions      Extensions OPTIONAL
464c19800e8SDoug Rabson						-- if present, MUST be v2
465c19800e8SDoug Rabson	} OPTIONAL,
466c19800e8SDoug Rabson	crlExtensions		[0] EXPLICIT Extensions OPTIONAL
467c19800e8SDoug Rabson						-- if present, MUST be v2
468c19800e8SDoug Rabson}
469c19800e8SDoug Rabson
470c19800e8SDoug Rabson
471c19800e8SDoug RabsonCRLCertificateList ::=  SEQUENCE  {
472c19800e8SDoug Rabson	tbsCertList          TBSCRLCertList,
473c19800e8SDoug Rabson	signatureAlgorithm   AlgorithmIdentifier,
474c19800e8SDoug Rabson	signatureValue       BIT STRING
475c19800e8SDoug Rabson}
476c19800e8SDoug Rabson
477c19800e8SDoug Rabsonid-x509-ce-cRLNumber OBJECT IDENTIFIER ::= { id-x509-ce 20 }
478c19800e8SDoug Rabsonid-x509-ce-freshestCRL OBJECT IDENTIFIER ::=  { id-x509-ce 46 }
479c19800e8SDoug Rabsonid-x509-ce-cRLReason OBJECT IDENTIFIER ::= { id-x509-ce 21 }
480c19800e8SDoug Rabson
481c19800e8SDoug RabsonCRLReason ::= ENUMERATED {
482c19800e8SDoug Rabson	unspecified             (0),
483c19800e8SDoug Rabson	keyCompromise           (1),
484c19800e8SDoug Rabson	cACompromise            (2),
485c19800e8SDoug Rabson	affiliationChanged      (3),
486c19800e8SDoug Rabson	superseded              (4),
487c19800e8SDoug Rabson	cessationOfOperation    (5),
488c19800e8SDoug Rabson	certificateHold         (6),
489c19800e8SDoug Rabson	removeFromCRL           (8),
490c19800e8SDoug Rabson	privilegeWithdrawn      (9),
491c19800e8SDoug Rabson	aACompromise           (10)
492c19800e8SDoug Rabson}
493c19800e8SDoug Rabson
494c19800e8SDoug RabsonPKIXXmppAddr ::= UTF8String
495c19800e8SDoug Rabson
496c19800e8SDoug Rabsonid-pkix OBJECT IDENTIFIER ::= { iso(1) identified-organization(3)
497c19800e8SDoug Rabson            dod(6) internet(1) security(5) mechanisms(5) pkix(7) }
498c19800e8SDoug Rabson
499c19800e8SDoug Rabsonid-pkix-on OBJECT IDENTIFIER ::= { id-pkix 8 }
500c19800e8SDoug Rabsonid-pkix-on-xmppAddr OBJECT IDENTIFIER ::= { id-pkix-on 5 }
501c19800e8SDoug Rabsonid-pkix-on-dnsSRV OBJECT IDENTIFIER ::= { id-pkix-on 7 }
502c19800e8SDoug Rabson
503c19800e8SDoug Rabsonid-pkix-kp OBJECT IDENTIFIER ::= { id-pkix 3 }
504c19800e8SDoug Rabsonid-pkix-kp-serverAuth OBJECT IDENTIFIER ::= { id-pkix-kp 1 }
505c19800e8SDoug Rabsonid-pkix-kp-clientAuth OBJECT IDENTIFIER ::= { id-pkix-kp 2 }
506c19800e8SDoug Rabsonid-pkix-kp-emailProtection OBJECT IDENTIFIER ::= { id-pkix-kp 4 }
507c19800e8SDoug Rabsonid-pkix-kp-timeStamping OBJECT IDENTIFIER ::= { id-pkix-kp 8 }
508c19800e8SDoug Rabsonid-pkix-kp-OCSPSigning OBJECT IDENTIFIER ::= { id-pkix-kp 9 }
509c19800e8SDoug Rabson
510c19800e8SDoug Rabsonid-pkix-pe OBJECT IDENTIFIER ::= { id-pkix 1 }
511c19800e8SDoug Rabson
512c19800e8SDoug Rabsonid-pkix-pe-authorityInfoAccess OBJECT IDENTIFIER ::= { id-pkix-pe 1 }
513c19800e8SDoug Rabson
514c19800e8SDoug RabsonAccessDescription  ::=  SEQUENCE {
515c19800e8SDoug Rabson	accessMethod          OBJECT IDENTIFIER,
516c19800e8SDoug Rabson	accessLocation        GeneralName
517c19800e8SDoug Rabson}
518c19800e8SDoug Rabson
519c19800e8SDoug RabsonAuthorityInfoAccessSyntax ::= SEQUENCE SIZE (1..MAX) OF AccessDescription
520c19800e8SDoug Rabson
521c19800e8SDoug Rabson-- RFC 3820 Proxy Certificate Profile
522c19800e8SDoug Rabson
523c19800e8SDoug Rabsonid-pkix-pe-proxyCertInfo OBJECT IDENTIFIER ::= { id-pkix-pe 14 }
524c19800e8SDoug Rabson
525c19800e8SDoug Rabsonid-pkix-ppl  OBJECT IDENTIFIER ::= { id-pkix 21 }
526c19800e8SDoug Rabson
527c19800e8SDoug Rabsonid-pkix-ppl-anyLanguage     OBJECT IDENTIFIER ::= { id-pkix-ppl 0 }
528c19800e8SDoug Rabsonid-pkix-ppl-inheritAll      OBJECT IDENTIFIER ::= { id-pkix-ppl 1 }
529c19800e8SDoug Rabsonid-pkix-ppl-independent     OBJECT IDENTIFIER ::= { id-pkix-ppl 2 }
530c19800e8SDoug Rabson
531c19800e8SDoug RabsonProxyPolicy ::= SEQUENCE {
532c19800e8SDoug Rabson	policyLanguage		OBJECT IDENTIFIER,
533c19800e8SDoug Rabson	policy			OCTET STRING OPTIONAL
534c19800e8SDoug Rabson}
535c19800e8SDoug Rabson
536c19800e8SDoug RabsonProxyCertInfo ::= SEQUENCE {
537c19800e8SDoug Rabson	pCPathLenConstraint	INTEGER (0..4294967295) OPTIONAL, -- really MAX
538c19800e8SDoug Rabson	proxyPolicy		ProxyPolicy
539c19800e8SDoug Rabson}
540c19800e8SDoug Rabson
541c19800e8SDoug Rabson--- U.S. Federal PKI Common Policy Framework
542c19800e8SDoug Rabson-- Card Authentication key
543c19800e8SDoug Rabsonid-uspkicommon-card-id OBJECT IDENTIFIER ::= { 2 16 840 1 101 3 6 6 }
544c19800e8SDoug Rabsonid-uspkicommon-piv-interim OBJECT IDENTIFIER ::= { 2 16 840 1 101 3 6 9 1 }
545c19800e8SDoug Rabson
546c19800e8SDoug Rabson--- Netscape extentions
547c19800e8SDoug Rabson
548c19800e8SDoug Rabsonid-netscape OBJECT IDENTIFIER ::=
549c19800e8SDoug Rabson    { joint-iso-itu-t(2) country(16) us(840) organization(1) netscape(113730) }
550c19800e8SDoug Rabsonid-netscape-cert-comment OBJECT IDENTIFIER ::= { id-netscape 1 13 }
551c19800e8SDoug Rabson
552c19800e8SDoug Rabson--- MS extentions
553c19800e8SDoug Rabson
554c19800e8SDoug Rabsonid-ms-cert-enroll-domaincontroller OBJECT IDENTIFIER ::=
555c19800e8SDoug Rabson    { 1 3 6 1 4 1 311 20 2 }
556c19800e8SDoug Rabson
557c19800e8SDoug Rabsonid-ms-client-authentication OBJECT IDENTIFIER ::=
558c19800e8SDoug Rabson { 1 3 6 1 5 5 7 3 2 }
559c19800e8SDoug Rabson
560c19800e8SDoug Rabson-- DER:1e:20:00:44:00:6f:00:6d:00:61:00:69:00:6e:00:43:00:6f:00:6e:00:74:00:72:00:6f:00:6c:00:6c:00:65:00:72
561c19800e8SDoug Rabson
5625e9cd1aeSAssar WesterlundEND
563