| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Licensed Materials - Property of IBM | 3 * Licensed Materials - Property of IBM |
| 4 * | 4 * |
| 5 * trousers - An open source TCG Software Stack | 5 * trousers - An open source TCG Software Stack |
| 6 * | 6 * |
| 7 * (C) Copyright International Business Machines Corp. 2004 | 7 * (C) Copyright International Business Machines Corp. 2004 |
| 8 * | 8 * |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 34 UINT32 srkInfoSize, /*in */ | 34 UINT32 srkInfoSize, /*in */ |
| 35 BYTE * srkInfo, /*in */ | 35 BYTE * srkInfo, /*in */ |
| 36 TPM_AUTH * ownerAuth, /* in, out */ | 36 TPM_AUTH * ownerAuth, /* in, out */ |
| 37 UINT32 * srkKeySize, /*out */ | 37 UINT32 * srkKeySize, /*out */ |
| 38 BYTE ** srkKey) /*out */ | 38 BYTE ** srkKey) /*out */ |
| 39 { | 39 { |
| 40 UINT64 offset; | 40 UINT64 offset; |
| 41 UINT32 paramSize; | 41 UINT32 paramSize; |
| 42 TSS_RESULT result; | 42 TSS_RESULT result; |
| 43 TSS_KEY srkKeyContainer; | 43 TSS_KEY srkKeyContainer; |
| 44 BYTE fake_pubkey[256] = { 0, }, fake_srk[2048] = { 0, }; |
| 44 BYTE oldAuthDataUsage; | 45 BYTE oldAuthDataUsage; |
| 45 BYTE txBlob[TSS_TPM_TXBLOB_SIZE]; | 46 BYTE txBlob[TSS_TPM_TXBLOB_SIZE]; |
| 46 | 47 |
| 47 if ((result = ctx_verify_context(hContext))) | 48 if ((result = ctx_verify_context(hContext))) |
| 48 goto done; | 49 goto done; |
| 49 | 50 |
| 50 if ((result = auth_mgr_check(hContext, &ownerAuth->AuthHandle))) | 51 if ((result = auth_mgr_check(hContext, &ownerAuth->AuthHandle))) |
| 51 goto done; | 52 goto done; |
| 52 | 53 |
| 53 /* Check on the Atmel Bug Patch */ | 54 /* Check on the Atmel Bug Patch */ |
| (...skipping 24 matching lines...) Expand all Loading... |
| 78 goto done; | 79 goto done; |
| 79 } | 80 } |
| 80 | 81 |
| 81 if (srkKeyContainer.authDataUsage != oldAuthDataUsage) { | 82 if (srkKeyContainer.authDataUsage != oldAuthDataUsage) { |
| 82 LogDebug("AuthDataUsage was changed by TPM. Atmel Bug.
Fixing it in PS"); | 83 LogDebug("AuthDataUsage was changed by TPM. Atmel Bug.
Fixing it in PS"); |
| 83 srkKeyContainer.authDataUsage = oldAuthDataUsage; | 84 srkKeyContainer.authDataUsage = oldAuthDataUsage; |
| 84 } | 85 } |
| 85 | 86 |
| 86 #ifdef TSS_BUILD_PS | 87 #ifdef TSS_BUILD_PS |
| 87 { | 88 { |
| 88 BYTE fake_pubkey[256] = { 0, }, fake_srk[2048] = { 0, }; | |
| 89 BYTE *save; | 89 BYTE *save; |
| 90 | 90 |
| 91 /* Once the key file is created, it stays forever. There
could be | 91 /* Once the key file is created, it stays forever. There
could be |
| 92 * migratable keys in the hierarchy that are still usefu
l to someone. | 92 * migratable keys in the hierarchy that are still usefu
l to someone. |
| 93 */ | 93 */ |
| 94 result = ps_remove_key(&SRK_UUID); | 94 result = ps_remove_key(&SRK_UUID); |
| 95 if (result != TSS_SUCCESS && result != TCSERR(TSS_E_PS_K
EY_NOTFOUND)) { | 95 if (result != TSS_SUCCESS && result != TCSERR(TSS_E_PS_K
EY_NOTFOUND)) { |
| 96 destroy_key_refs(&srkKeyContainer); | 96 destroy_key_refs(&srkKeyContainer); |
| 97 LogError("Error removing SRK from key file."); | 97 LogError("Error removing SRK from key file."); |
| 98 *srkKeySize = 0; | 98 *srkKeySize = 0; |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 160 result = UnloadBlob_Header(txBlob, ¶mSize); | 160 result = UnloadBlob_Header(txBlob, ¶mSize); |
| 161 if (!result) { | 161 if (!result) { |
| 162 result = tpm_rsp_parse(TPM_ORD_OwnerClear, txBlob, paramSize, ow
nerAuth); | 162 result = tpm_rsp_parse(TPM_ORD_OwnerClear, txBlob, paramSize, ow
nerAuth); |
| 163 } | 163 } |
| 164 LogResult("Ownerclear", result); | 164 LogResult("Ownerclear", result); |
| 165 done: | 165 done: |
| 166 auth_mgr_release_auth(ownerAuth, NULL, hContext); | 166 auth_mgr_release_auth(ownerAuth, NULL, hContext); |
| 167 return result; | 167 return result; |
| 168 } | 168 } |
| 169 | 169 |
| OLD | NEW |