Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(287)

Side by Side Diff: dev-libs/opencryptoki/files/opencryptoki-2.2.8-tpm_pubexp.patch

Issue 5179001: Fix to openCryptoki PKCS#11 TPM generated key handling (Closed) Base URL: ssh://git@gitrw.chromium.org:9222/chromiumos-overlay.git@master
Patch Set: Created 10 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | dev-libs/opencryptoki/opencryptoki-2.2.8.ebuild » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 diff -ru clean/opencryptoki-2.3.2/usr/lib/pkcs11/tpm_stdll/new_host.c opencrypto ki-2.3.2/usr/lib/pkcs11/tpm_stdll/new_host.c
2 --- clean/opencryptoki-2.3.2/usr/lib/pkcs11/tpm_stdll/new_host.c 2010-07- 29 05:28:41.000000000 -0700
3 +++ opencryptoki-2.3.2/usr/lib/pkcs11/tpm_stdll/new_host.c 2010-11-16 09:30 :53.075739829 -0800
4 @@ -28,6 +28,9 @@
5 4/25/03 Kapil Sood (kapil@corrent.com)
6 Added DH key pair generation and DH shared key derivation
7 functions.
8 + 11/16/10 Nelson Araujo (nelsona@chromium.org)
9 + Return default public exponent if not stored and/or returned
James Simonsen 2010/12/07 22:32:21 This doesn't feel like the right place to put in t
Nelson Araujo 2010/12/07 23:20:33 Without this code *all* operations with a openCryp
10 + by the TPM token device
11 ****************************************************************************/
12
13
14 @@ -120,6 +124,7 @@
15
16 CK_C_INITIALIZE_ARGS cinit_args = { NULL, NULL, NULL, NULL, 0, NULL };
17
18 +CK_BYTE pub_exp[] = { 0x1, 0x0, 0x1 }; // 65537
19
20 extern void stlogterm();
21 extern void stloginit();
22 @@ -1926,11 +1931,30 @@
23 goto done;
24 }
25
26 + for (i=0; i<ulCount; i++) {
27 + if (pTemplate[i].type == CKA_PUBLIC_EXPONENT) {
28 + if (pTemplate[i].ulValueLen < sizeof(pub_exp)) {
James Simonsen 2010/12/07 22:32:21 It seems like this should only be checked if we're
Nelson Araujo 2010/12/07 23:20:33 correct. that's what the if() in the line immediat
29 + rc = CKR_BUFFER_TOO_SMALL;
30 + goto done;
31 + }
32 + }
33 + }
34 +
35 rc = object_mgr_get_attribute_values( sess, hObject, pTemplate, ulCount );
36 if (rc != CKR_OK){
37 st_err_log(159, __FILE__, __LINE__);
38 }
39
40 + for (i=0; i<ulCount; i++) {
41 + if (pTemplate[i].type == CKA_PUBLIC_EXPONENT) {
42 + if (rc || pTemplate[i].ulValueLen == 0) {
43 + // Use well-known exponent if value not stored by the device
44 + memcpy( pTemplate[i].pValue, pub_exp, sizeof(pub_exp) );
45 + pTemplate[i].ulValueLen = sizeof(pub_exp);
46 + rc = 0;
47 + }
48 + }
49 + }
50
51 done:
52 LLOCK;
53
OLDNEW
« no previous file with comments | « no previous file | dev-libs/opencryptoki/opencryptoki-2.2.8.ebuild » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698