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

Side by Side Diff: tpm/tpm_authorization.c

Issue 660204: Upgrade to tpm-emulator version 0.7. (Closed)
Patch Set: Created 10 years, 9 months 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
« no previous file with comments | « tpm/tpm_audit.c ('k') | tpm/tpm_capability.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* Software-Based Trusted Platform Module (TPM) Emulator for Linux 1 /* Software-based Trusted Platform Module (TPM) Emulator
2 * Copyright (C) 2004 Mario Strasser <mast@gmx.net>, 2 * Copyright (C) 2004-2010 Mario Strasser <mast@gmx.net>
3 * Swiss Federal Institute of Technology (ETH) Zurich
4 * 3 *
5 * This module is free software; you can redistribute it and/or modify 4 * This module is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published 5 * it under the terms of the GNU General Public License as published
7 * by the Free Software Foundation; either version 2 of the License, 6 * by the Free Software Foundation; either version 2 of the License,
8 * or (at your option) any later version. 7 * or (at your option) any later version.
9 * 8 *
10 * This module is distributed in the hope that it will be useful, 9 * This module is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details. 12 * GNU General Public License for more details.
14 * 13 *
15 * $Id$ 14 * $Id: tpm_authorization.c 367 2010-02-13 15:52:18Z mast $
16 */ 15 */
17 16
18 #include "tpm_emulator.h" 17 #include "tpm_emulator.h"
19 #include "tpm_commands.h" 18 #include "tpm_commands.h"
20 #include "tpm_handles.h" 19 #include "tpm_handles.h"
21 #include "tpm_data.h" 20 #include "tpm_data.h"
22 #include "tpm_marshalling.h" 21 #include "tpm_marshalling.h"
23 #include "crypto/hmac.h" 22 #include "crypto/hmac.h"
24 #include "crypto/sha1.h" 23 #include "crypto/sha1.h"
25 24
(...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after
190 switch (entityType & 0x00FF) { 189 switch (entityType & 0x00FF) {
191 case TPM_ET_KEYHANDLE: 190 case TPM_ET_KEYHANDLE:
192 session->handle = entityValue; 191 session->handle = entityValue;
193 if (session->handle == TPM_KH_OPERATOR) return TPM_BAD_HANDLE; 192 if (session->handle == TPM_KH_OPERATOR) return TPM_BAD_HANDLE;
194 if (tpm_get_key(session->handle) != NULL) 193 if (tpm_get_key(session->handle) != NULL)
195 secret = &tpm_get_key(session->handle)->usageAuth; 194 secret = &tpm_get_key(session->handle)->usageAuth;
196 else 195 else
197 debug("TPM_OSAP failed(): tpm_get_key(handle) == NULL"); 196 debug("TPM_OSAP failed(): tpm_get_key(handle) == NULL");
198 break; 197 break;
199 case TPM_ET_OWNER: 198 case TPM_ET_OWNER:
199 case TPM_ET_VERIFICATION_AUTH:
200 session->handle = TPM_KH_OWNER; 200 session->handle = TPM_KH_OWNER;
201 if (tpmData.permanent.flags.owned) 201 if (tpmData.permanent.flags.owned)
202 secret = &tpmData.permanent.data.ownerAuth; 202 secret = &tpmData.permanent.data.ownerAuth;
203 break; 203 break;
204 case TPM_ET_SRK: 204 case TPM_ET_SRK:
205 session->handle = TPM_KH_SRK; 205 session->handle = TPM_KH_SRK;
206 if (tpmData.permanent.data.srk.payload) 206 if (tpmData.permanent.data.srk.payload)
207 secret = &tpmData.permanent.data.srk.usageAuth; 207 secret = &tpmData.permanent.data.srk.usageAuth;
208 break; 208 break;
209 case TPM_ET_COUNTER: 209 case TPM_ET_COUNTER:
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
582 { 582 {
583 unsigned int i; 583 unsigned int i;
584 tpm_sha1_ctx_t ctx; 584 tpm_sha1_ctx_t ctx;
585 tpm_sha1_init(&ctx); 585 tpm_sha1_init(&ctx);
586 tpm_sha1_update(&ctx, secret, sizeof(TPM_SECRET)); 586 tpm_sha1_update(&ctx, secret, sizeof(TPM_SECRET));
587 tpm_sha1_update(&ctx, nonce->nonce, sizeof(nonce->nonce)); 587 tpm_sha1_update(&ctx, nonce->nonce, sizeof(nonce->nonce));
588 tpm_sha1_final(&ctx, plainAuth); 588 tpm_sha1_final(&ctx, plainAuth);
589 for (i = 0; i < sizeof(TPM_SECRET); i++) 589 for (i = 0; i < sizeof(TPM_SECRET); i++)
590 plainAuth[i] ^= encAuth[i]; 590 plainAuth[i] ^= encAuth[i];
591 } 591 }
OLDNEW
« no previous file with comments | « tpm/tpm_audit.c ('k') | tpm/tpm_capability.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698