1233294Sstas-- $Id$ --
2178825Sdfr
3178825SdfrPKCS12 DEFINITIONS ::=
4178825Sdfr
5178825SdfrBEGIN
6178825Sdfr
7178825SdfrIMPORTS ContentInfo FROM cms
8178825Sdfr	DigestInfo FROM rfc2459
9178825Sdfr	heim_any, heim_any_set FROM heim;
10178825Sdfr
11178825Sdfr-- The PFX PDU
12178825Sdfr
13178825Sdfrid-pkcs-12 OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840)
14178825Sdfr	rsadsi(113549) pkcs(1) pkcs-12(12) }
15178825Sdfr
16178825Sdfrid-pkcs-12PbeIds                   OBJECT IDENTIFIER ::= { id-pkcs-12 1}
17178825Sdfrid-pbeWithSHAAnd128BitRC4          OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 1}
18178825Sdfrid-pbeWithSHAAnd40BitRC4           OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 2}
19178825Sdfrid-pbeWithSHAAnd3-KeyTripleDES-CBC OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 3}
20178825Sdfrid-pbeWithSHAAnd2-KeyTripleDES-CBC OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 4}
21178825Sdfrid-pbeWithSHAAnd128BitRC2-CBC      OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 5}
22178825Sdfrid-pbewithSHAAnd40BitRC2-CBC       OBJECT IDENTIFIER ::= { id-pkcs-12PbeIds 6}
23178825Sdfr
24178825Sdfrid-pkcs12-bagtypes		OBJECT IDENTIFIER ::= { id-pkcs-12 10 1}
25178825Sdfr
26178825Sdfrid-pkcs12-keyBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 1 }
27178825Sdfrid-pkcs12-pkcs8ShroudedKeyBag	OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 2 }
28178825Sdfrid-pkcs12-certBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 3 }
29178825Sdfrid-pkcs12-crlBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 4 }
30178825Sdfrid-pkcs12-secretBag		OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 5 }
31178825Sdfrid-pkcs12-safeContentsBag	OBJECT IDENTIFIER ::= { id-pkcs12-bagtypes 6 }
32178825Sdfr
33178825Sdfr
34178825SdfrPKCS12-MacData ::= SEQUENCE {
35178825Sdfr    	mac 		DigestInfo,
36178825Sdfr	macSalt	        OCTET STRING,
37178825Sdfr	iterations	INTEGER OPTIONAL
38178825Sdfr}
39178825Sdfr
40178825SdfrPKCS12-PFX ::= SEQUENCE {
41178825Sdfr    	version		INTEGER,
42178825Sdfr    	authSafe	ContentInfo,
43178825Sdfr    	macData    	PKCS12-MacData OPTIONAL
44178825Sdfr}
45178825Sdfr
46178825SdfrPKCS12-AuthenticatedSafe ::= SEQUENCE OF ContentInfo
47178825Sdfr	-- Data if unencrypted
48178825Sdfr	-- EncryptedData if password-encrypted
49178825Sdfr	-- EnvelopedData if public key-encrypted
50178825Sdfr
51178825SdfrPKCS12-Attribute ::= SEQUENCE {
52178825Sdfr	attrId	   	OBJECT IDENTIFIER,
53233294Sstas	attrValues 	-- SET OF -- heim_any_set
54178825Sdfr}
55178825Sdfr
56178825SdfrPKCS12-Attributes ::= SET OF PKCS12-Attribute
57178825Sdfr
58178825SdfrPKCS12-SafeBag ::= SEQUENCE {
59178825Sdfr  	bagId	      	OBJECT IDENTIFIER,
60178825Sdfr  	bagValue      	[0] heim_any,
61178825Sdfr  	bagAttributes 	PKCS12-Attributes OPTIONAL
62178825Sdfr}
63178825Sdfr
64178825SdfrPKCS12-SafeContents ::= SEQUENCE OF PKCS12-SafeBag
65178825Sdfr
66178825SdfrPKCS12-CertBag ::= SEQUENCE {
67178825Sdfr	certType	OBJECT IDENTIFIER,
68178825Sdfr  	certValue      	[0] heim_any
69178825Sdfr}
70178825Sdfr
71178825SdfrPKCS12-PBEParams ::= SEQUENCE {
72178825Sdfr	salt		OCTET STRING,
73178825Sdfr	iterations	INTEGER (0..4294967295) OPTIONAL
74178825Sdfr}
75178825Sdfr
76178825SdfrPKCS12-OctetString ::= OCTET STRING
77178825Sdfr
78178825Sdfr-- KeyBag ::= PrivateKeyInfo
79178825Sdfr-- PKCS8ShroudedKeyBag ::= EncryptedPrivateKeyInfo
80178825Sdfr
81178825SdfrEND
82