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

Side by Side Diff: tpm/tpm_transport.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_ticks.c ('k') | tpmd/CMakeLists.txt » ('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_transport.c 367 2010-02-13 15:52:18Z mast $
16 */ 15 */
17 16
18 /* 17 /*
19 * Thanks go to Edison Su (<sudison@gmail.com>) for providing 18 * Thanks go to Edison Su (<sudison@gmail.com>) for providing
20 * the initial Transport Session patch. 19 * the initial Transport Session patch.
21 */ 20 */
22 21
23 #include "tpm_emulator.h" 22 #include "tpm_emulator.h"
24 #include "tpm_commands.h" 23 #include "tpm_commands.h"
25 #include "tpm_handles.h" 24 #include "tpm_handles.h"
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
239 buf_len--; 238 buf_len--;
240 } 239 }
241 } 240 }
242 } 241 }
243 242
244 static void compute_key_digest(TPM_REQUEST *req, TPM_DIGEST *digest) 243 static void compute_key_digest(TPM_REQUEST *req, TPM_DIGEST *digest)
245 { 244 {
246 tpm_sha1_ctx_t ctx; 245 tpm_sha1_ctx_t ctx;
247 TPM_HANDLE h1, h2; 246 TPM_HANDLE h1, h2;
248 TPM_KEY_DATA *k1, *k2; 247 TPM_KEY_DATA *k1, *k2;
249 BYTE *ptr, buf[4]; 248 BYTE *ptr;
250 UINT32 len, offset = tpm_get_in_param_offset(req->ordinal); 249 UINT32 len, offset = tpm_get_in_param_offset(req->ordinal);
251 /* handle some exceptions */ 250 /* handle some exceptions */
252 if (req->ordinal == TPM_ORD_FlushSpecific) offset = 0; 251 if (req->ordinal == TPM_ORD_FlushSpecific) offset = 0;
253 else if (req->ordinal == TPM_ORD_OwnerReadInternalPub) offset = 4; 252 else if (req->ordinal == TPM_ORD_OwnerReadInternalPub) offset = 4;
254 /* compute public key digests */ 253 /* compute public key digests */
255 if (offset == 0) { 254 if (offset == 0) {
256 debug("no handles"); 255 debug("no handles");
257 memset(digest, 0, sizeof(TPM_DIGEST)); 256 memset(digest, 0, sizeof(TPM_DIGEST));
258 } else if (offset == 4) { 257 } else if (offset == 4) {
259 debug("one handle"); 258 debug("one handle");
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after
467 res = tpm_sign(key, auth1, FALSE, buf, SHA1_DIGEST_LENGTH, sig, sigSize); 466 res = tpm_sign(key, auth1, FALSE, buf, SHA1_DIGEST_LENGTH, sig, sigSize);
468 } else if (key->sigScheme == TPM_SS_RSASSAPKCS1v15_INFO) { 467 } else if (key->sigScheme == TPM_SS_RSASSAPKCS1v15_INFO) {
469 debug("TPM_SS_RSASSAPKCS1v15_INFO"); 468 debug("TPM_SS_RSASSAPKCS1v15_INFO");
470 res = tpm_sign(key, auth1, TRUE, buf, sizeof(buf), sig, sigSize); 469 res = tpm_sign(key, auth1, TRUE, buf, sizeof(buf), sig, sigSize);
471 } else { 470 } else {
472 debug("unsupported signature scheme: %02x", key->sigScheme); 471 debug("unsupported signature scheme: %02x", key->sigScheme);
473 res = TPM_INVALID_KEYUSAGE; 472 res = TPM_INVALID_KEYUSAGE;
474 } 473 }
475 return res; 474 return res;
476 } 475 }
OLDNEW
« no previous file with comments | « tpm/tpm_ticks.c ('k') | tpmd/CMakeLists.txt » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698