1 -- PKCS #5 v2.0 ASN.1 Module
2 -- Revised March 25, 1999
4 -- This module has been checked for conformance with the
5 -- ASN.1 standard by the OSS ASN.1 Tools
7 -- asn1ate: PKCS5v2-0 {iso(1) member-body(2) us(840) rsadsi(113549)
8 -- asn1ate: pkcs(1) pkcs-5(5) modules(16) pkcs5v2-0(1)}
13 -- Basic object identifiers
15 rsadsi OBJECT IDENTIFIER ::= {iso(1) member-body(2) us(840) 113549}
16 pkcs OBJECT IDENTIFIER ::= {rsadsi 1}
18 pkcs-5 OBJECT IDENTIFIER ::= {pkcs 5}
20 -- Basic types and classes
22 -- asn1ate: AlgorithmIdentifier { ALGORITHM-IDENTIFIER:InfoObjectSet } ::=
23 AlgorithmIdentifier ::=
25 -- asn1ate: algorithm ALGORITHM-IDENTIFIER.&id({InfoObjectSet}),
26 -- asn1ate: parameters ALGORITHM-IDENTIFIER.&Type({InfoObjectSet}
27 -- asn1ate: {@algorithm}) OPTIONAL
28 algorithm OBJECT IDENTIFIER,
29 parameters ANY DEFINED BY algorithm OPTIONAL
32 -- asn1ate: ALGORITHM-IDENTIFIER ::= TYPE-IDENTIFIER
36 -- asn1ate: PBKDF2Algorithms ALGORITHM-IDENTIFIER ::=
38 -- asn1ate: { {PBKDF2-params IDENTIFIED BY id-PBKDF2}, ...}
39 ANY DEFINED BY id-PKKDF2
41 id-PBKDF2 OBJECT IDENTIFIER ::= {pkcs-5 12}
43 -- asn1ate: algid-hmacWithSHA1 AlgorithmIdentifier {{PBKDF2-PRFs}} ::=
44 -- asn1ate: {algorithm id-hmacWithSHA1, parameters NULL : NULL}
46 PBKDF2-params ::= SEQUENCE {
48 specified OCTET STRING,
49 -- asn1ate: otherSource AlgorithmIdentifier {{PBKDF2-SaltSources}}
50 otherSource AlgorithmIdentifier
52 iterationCount INTEGER (1..MAX),
53 keyLength INTEGER (1..MAX) OPTIONAL,
54 -- asn1ate: prf AlgorithmIdentifier {{PBKDF2-PRFs}} DEFAULT
55 prf AlgorithmIdentifier DEFAULT
59 -- asn1ate: PBKDF2-SaltSources ALGORITHM-IDENTIFIER ::= { ... }
61 -- asn1ate: PBKDF2-PRFs ALGORITHM-IDENTIFIER ::=
62 -- asn1ate: { {NULL IDENTIFIED BY id-hmacWithSHA1}, ... }
67 -- asn1ate: PBES1Algorithms ALGORITHM-IDENTIFIER ::= {
68 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithMD2AndDES-CBC} |
69 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithMD2AndRC2-CBC} |
70 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithMD5AndDES-CBC} |
71 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithMD5AndRC2-CBC} |
72 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithSHA1AndDES-CBC} |
73 -- asn1ate: {PBEParameter IDENTIFIED BY pbeWithSHA1AndRC2-CBC},
77 pbeWithMD2AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 1}
78 pbeWithMD2AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 4}
79 pbeWithMD5AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 3}
80 pbeWithMD5AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 6}
81 pbeWithSHA1AndDES-CBC OBJECT IDENTIFIER ::= {pkcs-5 10}
82 pbeWithSHA1AndRC2-CBC OBJECT IDENTIFIER ::= {pkcs-5 11}
84 PBEParameter ::= SEQUENCE {
85 salt OCTET STRING (SIZE(8)),
86 iterationCount INTEGER
91 -- asn1ate: PBES2Algorithms ALGORITHM-IDENTIFIER ::=
92 -- asn1ate: { {PBES2-params IDENTIFIED BY id-PBES2}, ...}
94 id-PBES2 OBJECT IDENTIFIER ::= {pkcs-5 13}
96 PBES2-params ::= SEQUENCE {
97 -- asn1ate: keyDerivationFunc AlgorithmIdentifier {{PBES2-KDFs}},
98 -- asn1ate: encryptionScheme AlgorithmIdentifier {{PBES2-Encs}}
99 keyDerivationFunc AlgorithmIdentifier,
100 encryptionScheme AlgorithmIdentifier
103 -- asn1ate: PBES2-KDFs ALGORITHM-IDENTIFIER ::=
104 -- asn1ate: { {PBKDF2-params IDENTIFIED BY id-PBKDF2}, ... }
106 -- asn1ate: PBES2-Encs ALGORITHM-IDENTIFIER ::= { ... }
110 -- asn1ate: PBMAC1Algorithms ALGORITHM-IDENTIFIER ::=
111 -- asn1ate: { {PBMAC1-params IDENTIFIED BY id-PBMAC1}, ...}
113 id-PBMAC1 OBJECT IDENTIFIER ::= {pkcs-5 14}
115 PBMAC1-params ::= SEQUENCE {
116 -- asn1ate: keyDerivationFunc AlgorithmIdentifier {{PBMAC1-KDFs}},
117 -- asn1ate: messageAuthScheme AlgorithmIdentifier {{PBMAC1-MACs}}
118 keyDerivationFunc AlgorithmIdentifier,
119 messageAuthScheme AlgorithmIdentifier
122 -- asn1ate: PBMAC1-KDFs ALGORITHM-IDENTIFIER ::=
123 -- asn1ate: { {PBKDF2-params IDENTIFIED BY id-PBKDF2}, ... }
125 -- asn1ate: PBMAC1-MACs ALGORITHM-IDENTIFIER ::= { ... }
127 -- Supporting techniques
129 digestAlgorithm OBJECT IDENTIFIER ::= {rsadsi 2}
130 encryptionAlgorithm OBJECT IDENTIFIER ::= {rsadsi 3}
132 -- asn1ate: SupportingAlgorithms ALGORITHM-IDENTIFIER ::= {
133 -- asn1ate: {NULL IDENTIFIED BY id-hmacWithSHA1} |
134 -- asn1ate: {OCTET STRING (SIZE(8)) IDENTIFIED BY desCBC} |
135 -- asn1ate: {OCTET STRING (SIZE(8)) IDENTIFIED BY des-EDE3-CBC} |
136 -- asn1ate: {RC2-CBC-Parameter IDENTIFIED BY rc2CBC} |
137 -- asn1ate: {RC5-CBC-Parameters IDENTIFIED BY rc5-CBC-PAD},
141 id-hmacWithSHA1 OBJECT IDENTIFIER ::= {digestAlgorithm 7}
143 desCBC OBJECT IDENTIFIER ::=
144 {iso(1) identified-organization(3) oiw(14) secsig(3)
145 algorithms(2) 7} -- from OIW
147 des-EDE3-CBC OBJECT IDENTIFIER ::= {encryptionAlgorithm 7}
149 rc2CBC OBJECT IDENTIFIER ::= {encryptionAlgorithm 2}
151 RC2-CBC-Parameter ::= SEQUENCE {
152 rc2ParameterVersion INTEGER OPTIONAL,
153 iv OCTET STRING (SIZE(8))
156 rc5-CBC-PAD OBJECT IDENTIFIER ::= {encryptionAlgorithm 9}
158 RC5-CBC-Parameters ::= SEQUENCE {
159 -- asn1ate: version INTEGER {v1-0(16)} (v1-0),
161 rounds INTEGER (8..127),
162 -- asn1ate: blockSizeInBits INTEGER (64 | 128),
163 blockSizeInBits INTEGER,
164 iv OCTET STRING OPTIONAL