xref: /freebsd/crypto/heimdal/lib/asn1/pkcs12.asn1 (revision d2ce15bd43b3a1dcce08eecbff8d5d359946d972)
1-- $Id$ --
2
3PKCS12 DEFINITIONS ::=
4
5BEGIN
6
7IMPORTS ContentInfo FROM cms
8	DigestInfo FROM rfc2459
9	heim_any, heim_any_set FROM heim;
10
11-- The PFX PDU
12
13id-pkcs-12 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
14	rsadsi(113549) pkcs(1) pkcs-12(12) }
15
16id-pkcs-12PbeIds                   OBJECT IDENTIFIER ::= { id-pkcs-12 1}
17id-pbeWithSHAAnd128BitRC4          OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 1}
18id-pbeWithSHAAnd40BitRC4           OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 2}
19id-pbeWithSHAAnd3-KeyTripleDES-CBC OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 3}
20id-pbeWithSHAAnd2-KeyTripleDES-CBC OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 4}
21id-pbeWithSHAAnd128BitRC2-CBC      OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 5}
22id-pbewithSHAAnd40BitRC2-CBC       OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 6}
23
24id-pkcs12-bagtypes		OBJECT IDENTIFIER ::= { id-pkcs-12 10 1}
25
26id-pkcs12-keyBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 1 }
27id-pkcs12-pkcs8ShroudedKeyBag	OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 2 }
28id-pkcs12-certBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 3 }
29id-pkcs12-crlBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 4 }
30id-pkcs12-secretBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 5 }
31id-pkcs12-safeContentsBag	OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 6 }
32
33
34PKCS12-MacData ::= SEQUENCE {
35    	mac 		DigestInfo,
36	macSalt	        OCTET STRING,
37	iterations	INTEGER OPTIONAL
38}
39
40PKCS12-PFX ::= SEQUENCE {
41    	version		INTEGER,
42    	authSafe	ContentInfo,
43    	macData    	PKCS12-MacData OPTIONAL
44}
45
46PKCS12-AuthenticatedSafe ::= SEQUENCE OF ContentInfo
47	-- Data if unencrypted
48	-- EncryptedData if password-encrypted
49	-- EnvelopedData if public key-encrypted
50
51PKCS12-Attribute ::= SEQUENCE {
52	attrId	   	OBJECT IDENTIFIER,
53	attrValues 	-- SET OF -- heim_any_set
54}
55
56PKCS12-Attributes ::= SET OF PKCS12-Attribute
57
58PKCS12-SafeBag ::= SEQUENCE {
59  	bagId	      	OBJECT IDENTIFIER,
60  	bagValue      	[0] heim_any,
61  	bagAttributes 	PKCS12-Attributes OPTIONAL
62}
63
64PKCS12-SafeContents ::= SEQUENCE OF PKCS12-SafeBag
65
66PKCS12-CertBag ::= SEQUENCE {
67	certType	OBJECT IDENTIFIER,
68  	certValue      	[0] heim_any
69}
70
71PKCS12-PBEParams ::= SEQUENCE {
72	salt		OCTET STRING,
73	iterations	INTEGER (0..4294967295) OPTIONAL
74}
75
76PKCS12-OctetString ::= OCTET STRING
77
78-- KeyBag ::= PrivateKeyInfo
79-- PKCS8ShroudedKeyBag ::= EncryptedPrivateKeyInfo
80
81END
82