1 PKCS-12 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
2 pkcs-12(12) modules(0) pkcs-12(1)}
4 DEFINITIONS IMPLICIT TAGS ::=
9 -- All types and values defined in this module is exported for use in
10 -- other ASN.1 modules.
15 FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
16 usefulDefinitions(0) 3}
19 FROM InformationFramework informationFramework
21 ContentInfo, DigestInfo, Digest, DigestAlgorithmIdentifier
22 FROM PKCS-7 {iso(1) member-body(2) us(840) rsadsi(113549)
23 pkcs(1) pkcs-7(7) modules(0) pkcs-7(1)}
25 --PrivateKeyInfo, EncryptedPrivateKeyInfo
26 -- FROM PKCS-8 {iso(1) member-body(2) us(840) rsadsi(113549)
27 -- pkcs(1) pkcs-8(8) modules(1) pkcs-8(1)}
29 --pkcs-9, friendlyName, localKeyId, certTypes, crlTypes
30 -- FROM PKCS-9 {iso(1) member-body(2) us(840) rsadsi(113549)
31 -- pkcs(1) pkcs-9(9) modules(0) pkcs-9(1) };--
33 -- A PKCS#8 IMPORT from below
34 AlgorithmIdentifier, ALGORITHM-IDENTIFIER
35 FROM PKCS-5 {iso(1) member-body(2) us(840) rsadsi(113549)
36 pkcs(1) pkcs-5(5) modules(16) pkcs-5(1)};
41 --rsadsi OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) rsadsi(113549)}
42 --pkcs OBJECT IDENTIFIER ::= {rsadsi pkcs(1)}
43 --pkcs-12 OBJECT IDENTIFIER ::= {pkcs 12}
44 --pkcs-12PbeIds OBJECT IDENTIFIER ::= {pkcs-12 1}
45 --pbeWithSHAAnd128BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 1}
46 --pbeWithSHAAnd40BitRC4 OBJECT IDENTIFIER ::= {pkcs-12PbeIds 2}
47 --pbeWithSHAAnd3-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 3}
48 --pbeWithSHAAnd2-KeyTripleDES-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 4}
49 --pbeWithSHAAnd128BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 5}
50 --pbewithSHAAnd40BitRC2-CBC OBJECT IDENTIFIER ::= {pkcs-12PbeIds 6}
52 --bagtypes OBJECT IDENTIFIER ::= {pkcs-12 10 1}
57 version INTEGER {v3(3)}(v3,...),
59 macData MacData OPTIONAL
62 MacData ::= SEQUENCE {
65 iterations INTEGER DEFAULT 1
66 -- Note: The default is for historical reasons and its use is
67 -- deprecated. A higher value, like 1024 is recommended.
70 AuthenticatedSafe ::= SEQUENCE OF ContentInfo
71 -- Data if unencrypted
72 -- EncryptedData if password-encrypted
73 -- EnvelopedData if public key-encrypted
75 SafeContents ::= SEQUENCE OF SafeBag
77 SafeBag ::= SEQUENCE {
78 bagId -- BAG-TYPE.&id ({PKCS12BagSet}) -- OBJECT IDENTIFIER,
79 bagValue [0] EXPLICIT --BAG-TYPE.&Type({PKCS12BagSet}{@bagId}) -- ANY,
80 bagAttributes SET OF PKCS12Attribute OPTIONAL
86 -- {KeyBag IDENTIFIED BY {bagtypes 1}}
87 --pkcs8ShroudedKeyBag BAG-TYPE ::=
88 -- {PKCS8ShroudedKeyBag IDENTIFIED BY {bagtypes 2}}
89 --certBag BAG-TYPE ::=
90 -- {CertBag IDENTIFIED BY {bagtypes 3}}
92 -- {CRLBag IDENTIFIED BY {bagtypes 4}}
93 --secretBag BAG-TYPE ::=
94 -- {SecretBag IDENTIFIED BY {bagtypes 5}}
95 --safeContentsBag BAG-TYPE ::=
96 -- {SafeContents IDENTIFIED BY {bagtypes 6}}
98 --PKCS12BagSet BAG-TYPE ::= {
100 -- pkcs8ShroudedKeyBag |
105 -- ... - - For future extensions
108 --BAG-TYPE ::= TYPE-IDENTIFIER
112 KeyBag ::= PrivateKeyInfo
116 PKCS8ShroudedKeyBag ::= EncryptedPrivateKeyInfo
120 CertBag ::= SEQUENCE {
121 certId --BAG-TYPE.&id ({CertTypes}) -- OBJECT IDENTIFIER,
122 certValue [0] EXPLICIT --BAG-TYPE.&Type ({CertTypes}{@certId})-- ANY
125 --x509Certificate BAG-TYPE ::=
126 -- {OCTET STRING IDENTIFIED BY {certTypes 1}}
127 -- DER-encoded X.509 certificate stored in OCTET STRING
128 --sdsiCertificate BAG-TYPE ::=
129 -- {IA5String IDENTIFIED BY {certTypes 2}}
130 -- Base64-encoded SDSI certificate stored in IA5String
132 --CertTypes BAG-TYPE ::= {
135 -- ... - - For future extensions
140 CRLBag ::= SEQUENCE {
141 crlId --BAG-TYPE.&id ({CRLTypes})-- OBJECT IDENTIFIER,
142 crlValue [0] EXPLICIT --BAG-TYPE.&Type ({CRLTypes}{@crlId})-- ANY
145 --x509CRL BAG-TYPE ::=
146 -- {OCTET STRING IDENTIFIED BY {crlTypes 1}}
147 -- DER-encoded X.509 CRL stored in OCTET STRING
149 --CRLTypes BAG-TYPE ::= {
151 -- ... - - For future extensions
156 SecretBag ::= SEQUENCE {
157 secretTypeId --BAG-TYPE.&id ({SecretTypes})-- OBJECT IDENTIFIER,
158 secretValue [0] EXPLICIT --BAG-TYPE.&Type ({SecretTypes}{@secretTypeId})-- ANY
161 --SecretTypes BAG-TYPE ::= {
162 -- ... - - For future extensions
167 PKCS12Attribute ::= SEQUENCE {
168 attrId --ATTRIBUTE.&id ({PKCS12AttrSet})-- OBJECT IDENTIFIER,
169 attrValues SET OF --ATTRIBUTE.&Type ({PKCS12AttrSet}{@attrId})-- ANY
170 } -- This type is compatible with the X.500 type 'Attribute'
172 --PKCS12AttrSet ATTRIBUTE ::= {
175 -- ... - - Other attributes are allowed
180 -- We import PKCS#8 here directly rather than creating another dissector
182 --PKCS-8 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-8(8)
183 -- modules(1) pkcs-8(1)}
187 -- This module has been checked for conformance with the ASN.1
188 -- standard by the OSS ASN.1 Tools
190 --DEFINITIONS IMPLICIT TAGS ::=
195 -- All types and values defined in this module is exported for use in other
200 --informationFramework
201 -- FROM UsefulDefinitions {joint-iso-itu-t(2) ds(5) module(1)
202 -- usefulDefinitions(0) 3}
205 -- FROM InformationFramework informationFramework
207 --AlgorithmIdentifier, ALGORITHM-IDENTIFIER
208 -- FROM PKCS-5 {iso(1) member-body(2) us(840) rsadsi(113549)
209 -- pkcs(1) pkcs-5(5) modules(16) pkcs-5(1)};
211 -- Private-key information syntax
213 PrivateKeyInfo ::= SEQUENCE {
215 privateKeyAlgorithm AlgorithmIdentifier --{{PrivateKeyAlgorithms}}--,
216 privateKey PrivateKey,
217 attributes [0] Attributes OPTIONAL }
219 Version ::= INTEGER {v1(0)} (v1,...)
221 PrivateKey ::= OCTET STRING
223 Attributes ::= SET OF Attribute
225 -- Encrypted private-key information syntax
227 EncryptedPrivateKeyInfo ::= SEQUENCE {
228 encryptionAlgorithm AlgorithmIdentifier --{{KeyEncryptionAlgorithms}}--,
229 encryptedData EncryptedData
232 EncryptedData ::= OCTET STRING
234 --PrivateKeyAlgorithms ALGORITHM-IDENTIFIER ::= {
235 -- ... - - For local profiles
238 --KeyEncryptionAlgorithms ALGORITHM-IDENTIFIER ::= {
239 -- ... - - For local profiles
243 PBEParameter ::= SEQUENCE {
245 iterationCount INTEGER
249 PBKDF2Params ::= SEQUENCE {
251 specified OCTET STRING,
252 otherSource AlgorithmIdentifier --{{PBKDF2-SaltSources}}--
254 iterationCount INTEGER --(1..MAX)--,
255 keyLength INTEGER (1..MAX) OPTIONAL,
256 prf AlgorithmIdentifier --{{PBKDF2-PRFs}} DEFAULT algid-hmacWithSHA1-- OPTIONAL }
258 PBES2Params ::= SEQUENCE {
259 keyDerivationFunc AlgorithmIdentifier --{{PBES2-KDFs}}--,
260 encryptionScheme AlgorithmIdentifier --{{PBES2-Encs}}-- }
262 PBMAC1Params ::= SEQUENCE {
263 keyDerivationFunc AlgorithmIdentifier --{{PBMAC1-KDFs}}--,
264 messageAuthScheme AlgorithmIdentifier --{{PBMAC1-MACs}}-- }