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