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-2007 | 7 * (C) Copyright International Business Machines Corp. 2004-2007 |
8 * | 8 * |
9 */ | 9 */ |
10 | 10 |
(...skipping 838 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
849 goto error; | 849 goto error; |
850 } else | 850 } else |
851 sess->parentMode = TSS_SECRET_MODE_NONE; | 851 sess->parentMode = TSS_SECRET_MODE_NONE; |
852 | 852 |
853 switch (command) { | 853 switch (command) { |
854 /* Child is a Key object */ | 854 /* Child is a Key object */ |
855 case TPM_ORD_CreateWrapKey: | 855 case TPM_ORD_CreateWrapKey: |
856 case TPM_ORD_CMK_CreateKey: | 856 case TPM_ORD_CMK_CreateKey: |
857 if ((result = obj_rsakey_get_policies(obj_child, &sess->hUsageCh
ild, | 857 if ((result = obj_rsakey_get_policies(obj_child, &sess->hUsageCh
ild, |
858 &sess->hMigChild, &authdat
ausage))) | 858 &sess->hMigChild, &authdat
ausage))) |
859 » » » return result; | 859 » » » goto error; |
860 | 860 |
861 if (authdatausage && !sess->hUsageChild) { | 861 if (authdatausage && !sess->hUsageChild) { |
862 result = TSPERR(TSS_E_TSP_AUTHREQUIRED); | 862 result = TSPERR(TSS_E_TSP_AUTHREQUIRED); |
863 goto error; | 863 goto error; |
864 } | 864 } |
865 | 865 |
866 if (obj_rsakey_is_migratable(obj_child)) { | 866 if (obj_rsakey_is_migratable(obj_child)) { |
867 if (!sess->hMigChild) { | 867 if (!sess->hMigChild) { |
868 result = TSPERR(TSS_E_KEY_NO_MIGRATION_POLICY); | 868 result = TSPERR(TSS_E_KEY_NO_MIGRATION_POLICY); |
869 goto error; | 869 goto error; |
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
958 * is OK. At this point, authsess->pAuth is NULL, so the TCS API will n
ot get any | 958 * is OK. At this point, authsess->pAuth is NULL, so the TCS API will n
ot get any |
959 * authdata. */ | 959 * authdata. */ |
960 if (req_auth == FALSE && sess->parentMode == TSS_SECRET_MODE_NONE) | 960 if (req_auth == FALSE && sess->parentMode == TSS_SECRET_MODE_NONE) |
961 goto done; | 961 goto done; |
962 | 962 |
963 if (get_child_auth) { | 963 if (get_child_auth) { |
964 if ((result = obj_policy_get_xsap_params(sess->hUsageChild, 0, 0
, NULL, NULL, | 964 if ((result = obj_policy_get_xsap_params(sess->hUsageChild, 0, 0
, NULL, NULL, |
965 sess->encAuthUse.authda
ta, NULL, NULL, | 965 sess->encAuthUse.authda
ta, NULL, NULL, |
966 &sess->cb_sealx, &sess-
>uMode, | 966 &sess->cb_sealx, &sess-
>uMode, |
967 new_secret))) | 967 new_secret))) |
968 » » » return result; | 968 » » » goto error; |
969 } | 969 } |
970 | 970 |
971 if ((result = get_local_random(tspContext, FALSE, sizeof(TPM_NONCE), | 971 if ((result = get_local_random(tspContext, FALSE, sizeof(TPM_NONCE), |
972 (BYTE **)sess->nonceOddxSAP.nonce))) | 972 (BYTE **)sess->nonceOddxSAP.nonce))) |
973 goto error; | 973 goto error; |
974 | 974 |
975 sess->obj_child = obj_child; | 975 sess->obj_child = obj_child; |
976 sess->tspContext = tspContext; | 976 sess->tspContext = tspContext; |
977 sess->pAuth = &sess->auth; | 977 sess->pAuth = &sess->auth; |
978 sess->command = command; | 978 sess->command = command; |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1122 | 1122 |
1123 void | 1123 void |
1124 authsess_free(struct authsess *xsap) | 1124 authsess_free(struct authsess *xsap) |
1125 { | 1125 { |
1126 if (xsap) { | 1126 if (xsap) { |
1127 if (xsap->auth.AuthHandle && xsap->auth.fContinueAuthSession) | 1127 if (xsap->auth.AuthHandle && xsap->auth.fContinueAuthSession) |
1128 (void)__tspi_free_resource(xsap->tspContext, xsap->auth.
AuthHandle, TPM_RT_AUTH); | 1128 (void)__tspi_free_resource(xsap->tspContext, xsap->auth.
AuthHandle, TPM_RT_AUTH); |
1129 | 1129 |
1130 free(xsap->entityValue); | 1130 free(xsap->entityValue); |
1131 free(xsap); | 1131 free(xsap); |
| 1132 xsap = NULL; |
1132 } | 1133 } |
1133 } | 1134 } |
1134 | 1135 |
1135 #ifdef TSS_BUILD_TRANSPORT | 1136 #ifdef TSS_BUILD_TRANSPORT |
1136 TSS_RESULT | 1137 TSS_RESULT |
1137 Transport_OIAP(TSS_HCONTEXT tspContext, /* in */ | 1138 Transport_OIAP(TSS_HCONTEXT tspContext, /* in */ |
1138 TCS_AUTHHANDLE* authHandle, /* out */ | 1139 TCS_AUTHHANDLE* authHandle, /* out */ |
1139 TPM_NONCE* nonce0) /* out */ | 1140 TPM_NONCE* nonce0) /* out */ |
1140 { | 1141 { |
1141 TSS_RESULT result; | 1142 TSS_RESULT result; |
(...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1217 } | 1218 } |
1218 | 1219 |
1219 *handles = handle; | 1220 *handles = handle; |
1220 | 1221 |
1221 result = obj_context_transport_execute(tspContext, TPM_ORD_Terminate_Han
dle, 0, NULL, | 1222 result = obj_context_transport_execute(tspContext, TPM_ORD_Terminate_Han
dle, 0, NULL, |
1222 NULL, &handlesLen, &handles, NULL
, NULL, NULL, NULL); | 1223 NULL, &handlesLen, &handles, NULL
, NULL, NULL, NULL); |
1223 | 1224 |
1224 return result; | 1225 return result; |
1225 } | 1226 } |
1226 #endif | 1227 #endif |
OLD | NEW |