OLD | NEW |
1 /* This Source Code Form is subject to the terms of the Mozilla Public | 1 /* This Source Code Form is subject to the terms of the Mozilla Public |
2 * License, v. 2.0. If a copy of the MPL was not distributed with this | 2 * License, v. 2.0. If a copy of the MPL was not distributed with this |
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ | 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ |
4 /* | 4 /* |
5 * This file implements PKCS 11 on top of our existing security modules | 5 * This file implements PKCS 11 on top of our existing security modules |
6 * | 6 * |
7 * For more information about PKCS 11 See PKCS 11 Token Inteface Standard. | 7 * For more information about PKCS 11 See PKCS 11 Token Inteface Standard. |
8 * This implementation has two slots: | 8 * This implementation has two slots: |
9 * slot 1 is our generic crypto support. It does not require login. | 9 * slot 1 is our generic crypto support. It does not require login. |
10 * It supports Public Key ops, and all they bulk ciphers and hashes. | 10 * It supports Public Key ops, and all they bulk ciphers and hashes. |
11 * It can also support Private Key ops for imported Private keys. It does | 11 * It can also support Private Key ops for imported Private keys. It does |
12 * not have any token storage. | 12 * not have any token storage. |
13 * slot 2 is our private key support. It requires a login before use. It | 13 * slot 2 is our private key support. It requires a login before use. It |
14 * can store Private Keys and Certs as token objects. Currently only private | 14 * can store Private Keys and Certs as token objects. Currently only private |
15 * keys and their associated Certificates are saved on the token. | 15 * keys and their associated Certificates are saved on the token. |
16 * | 16 * |
17 * In this implementation, session objects are only visible to the session | 17 * In this implementation, session objects are only visible to the session |
18 * that created or generated them. | 18 * that created or generated them. |
19 */ | 19 */ |
20 #include "seccomon.h" | 20 #include "seccomon.h" |
21 #include "secitem.h" | 21 #include "secitem.h" |
22 #include "secport.h" | 22 #include "secport.h" |
23 #include "blapi.h" | 23 #include "blapi.h" |
24 #include "pkcs11.h" | 24 #include "pkcs11.h" |
25 #include "pkcs11i.h" | 25 #include "pkcs11i.h" |
26 #include "lowkeyi.h" | 26 #include "lowkeyi.h" |
27 #include "sechash.h" | |
28 #include "secder.h" | 27 #include "secder.h" |
29 #include "secdig.h" | 28 #include "secdig.h" |
30 #include "lowpbe.h" /* We do PBE below */ | 29 #include "lowpbe.h" /* We do PBE below */ |
31 #include "pkcs11t.h" | 30 #include "pkcs11t.h" |
32 #include "secoid.h" | 31 #include "secoid.h" |
33 #include "alghmac.h" | 32 #include "alghmac.h" |
34 #include "softoken.h" | 33 #include "softoken.h" |
35 #include "secasn1.h" | 34 #include "secasn1.h" |
36 #include "secerr.h" | 35 #include "secerr.h" |
37 | 36 |
(...skipping 6664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6702 att = sftk_FindAttribute(key,CKA_VALUE); | 6701 att = sftk_FindAttribute(key,CKA_VALUE); |
6703 sftk_FreeObject(key); | 6702 sftk_FreeObject(key); |
6704 if (!att) { | 6703 if (!att) { |
6705 return CKR_KEY_HANDLE_INVALID; | 6704 return CKR_KEY_HANDLE_INVALID; |
6706 } | 6705 } |
6707 crv = NSC_DigestUpdate(hSession,(CK_BYTE_PTR)att->attrib.pValue, | 6706 crv = NSC_DigestUpdate(hSession,(CK_BYTE_PTR)att->attrib.pValue, |
6708 att->attrib.ulValueLen); | 6707 att->attrib.ulValueLen); |
6709 sftk_FreeAttribute(att); | 6708 sftk_FreeAttribute(att); |
6710 return crv; | 6709 return crv; |
6711 } | 6710 } |
OLD | NEW |