OLD | NEW |
1 /* ***** BEGIN LICENSE BLOCK ***** | 1 /* ***** BEGIN LICENSE BLOCK ***** |
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 | 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 |
3 * | 3 * |
4 * The contents of this file are subject to the Mozilla Public License Version | 4 * The contents of this file are subject to the Mozilla Public License Version |
5 * 1.1 (the "License"); you may not use this file except in compliance with | 5 * 1.1 (the "License"); you may not use this file except in compliance with |
6 * the License. You may obtain a copy of the License at | 6 * the License. You may obtain a copy of the License at |
7 * http://www.mozilla.org/MPL/ | 7 * http://www.mozilla.org/MPL/ |
8 * | 8 * |
9 * Software distributed under the License is distributed on an "AS IS" basis, | 9 * Software distributed under the License is distributed on an "AS IS" basis, |
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License | 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License |
(...skipping 24 matching lines...) Expand all Loading... |
35 * | 35 * |
36 * ***** END LICENSE BLOCK ***** */ | 36 * ***** END LICENSE BLOCK ***** */ |
37 #ifndef _KEYTHI_H_ | 37 #ifndef _KEYTHI_H_ |
38 #define _KEYTHI_H_ 1 | 38 #define _KEYTHI_H_ 1 |
39 | 39 |
40 #include "plarena.h" | 40 #include "plarena.h" |
41 #include "pkcs11t.h" | 41 #include "pkcs11t.h" |
42 #include "secmodt.h" | 42 #include "secmodt.h" |
43 #include "prclist.h" | 43 #include "prclist.h" |
44 | 44 |
| 45 /* |
| 46 ** RFC 4055 specifies three different RSA key types. |
| 47 ** |
| 48 ** rsaKey maps to keys with SEC_OID_PKCS1_RSA_ENCRYPTION and can be used for |
| 49 ** both encryption and signatures with old (PKCS #1 v1.5) and new (PKCS #1 |
| 50 ** v2.1) padding schemes. |
| 51 ** |
| 52 ** rsaPssKey maps to keys with SEC_OID_PKCS1_RSA_PSS_SIGNATURE and may only |
| 53 ** be used for signatures with PSS padding (PKCS #1 v2.1). |
| 54 ** |
| 55 ** rsaOaepKey maps to keys with SEC_OID_PKCS1_RSA_OAEP_ENCRYPTION and may only |
| 56 ** be used for encryption with OAEP padding (PKCS #1 v2.1). |
| 57 */ |
| 58 |
45 typedef enum { | 59 typedef enum { |
46 nullKey = 0, | 60 nullKey = 0, |
47 rsaKey = 1, | 61 rsaKey = 1, |
48 dsaKey = 2, | 62 dsaKey = 2, |
49 fortezzaKey = 3, | 63 fortezzaKey = 3, |
50 dhKey = 4, | 64 dhKey = 4, |
51 keaKey = 5, | 65 keaKey = 5, |
52 ecKey = 6 | 66 ecKey = 6, |
| 67 rsaPssKey = 7, |
| 68 rsaOaepKey = 8 |
53 } KeyType; | 69 } KeyType; |
54 | 70 |
55 /* | 71 /* |
56 ** Template Definitions | 72 ** Template Definitions |
57 **/ | 73 **/ |
58 | 74 |
59 SEC_BEGIN_PROTOS | 75 SEC_BEGIN_PROTOS |
60 extern const SEC_ASN1Template SECKEY_RSAPublicKeyTemplate[]; | 76 extern const SEC_ASN1Template SECKEY_RSAPublicKeyTemplate[]; |
61 extern const SEC_ASN1Template SECKEY_DSAPublicKeyTemplate[]; | 77 extern const SEC_ASN1Template SECKEY_DSAPublicKeyTemplate[]; |
62 extern const SEC_ASN1Template SECKEY_DHPublicKeyTemplate[]; | 78 extern const SEC_ASN1Template SECKEY_DHPublicKeyTemplate[]; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 unsigned char KMID[8]; | 167 unsigned char KMID[8]; |
152 SECItem clearance; | 168 SECItem clearance; |
153 SECItem KEApriviledge; | 169 SECItem KEApriviledge; |
154 SECItem DSSpriviledge; | 170 SECItem DSSpriviledge; |
155 SECItem KEAKey; | 171 SECItem KEAKey; |
156 SECItem DSSKey; | 172 SECItem DSSKey; |
157 SECKEYPQGParams params; | 173 SECKEYPQGParams params; |
158 SECKEYPQGParams keaParams; | 174 SECKEYPQGParams keaParams; |
159 }; | 175 }; |
160 typedef struct SECKEYFortezzaPublicKeyStr SECKEYFortezzaPublicKey; | 176 typedef struct SECKEYFortezzaPublicKeyStr SECKEYFortezzaPublicKey; |
| 177 #define KEAprivilege KEApriviledge /* corrected spelling */ |
| 178 #define DSSprivilege DSSpriviledge /* corrected spelling */ |
161 | 179 |
162 struct SECKEYDiffPQGParamsStr { | 180 struct SECKEYDiffPQGParamsStr { |
163 SECKEYPQGParams DiffKEAParams; | 181 SECKEYPQGParams DiffKEAParams; |
164 SECKEYPQGParams DiffDSAParams; | 182 SECKEYPQGParams DiffDSAParams; |
165 }; | 183 }; |
166 typedef struct SECKEYDiffPQGParamsStr SECKEYDiffPQGParams; | 184 typedef struct SECKEYDiffPQGParamsStr SECKEYDiffPQGParams; |
167 | 185 |
168 struct SECKEYPQGDualParamsStr { | 186 struct SECKEYPQGDualParamsStr { |
169 SECKEYPQGParams CommParams; | 187 SECKEYPQGParams CommParams; |
170 SECKEYDiffPQGParams DiffParams; | 188 SECKEYDiffPQGParams DiffParams; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 PRCList links; | 264 PRCList links; |
247 SECKEYPublicKey *key; | 265 SECKEYPublicKey *key; |
248 } SECKEYPublicKeyListNode; | 266 } SECKEYPublicKeyListNode; |
249 | 267 |
250 typedef struct { | 268 typedef struct { |
251 PRCList list; | 269 PRCList list; |
252 PLArenaPool *arena; | 270 PLArenaPool *arena; |
253 } SECKEYPublicKeyList; | 271 } SECKEYPublicKeyList; |
254 #endif /* _KEYTHI_H_ */ | 272 #endif /* _KEYTHI_H_ */ |
255 | 273 |
OLD | NEW |