On Sat, 2020-01-04 at 10:03 +0000, Sam Jenkins via TrouSerS-users
wrote:
> Hi there,
> I've been trying to setup a short program to seal and unseal a file
> using the TSPI library, and seem to have run into a wall, when I try
> to load the key in by uuid I keep getting an error of 12556, which
> from what I've looked up, is TSS_E_INVALID_OBJECT_INITFLAG But I
> havn't been able to fix it by changing round the object flags etc.
> I'll post my code below up to the point where the error's occuring,
> any help would be much appreciated.
Hi Sam,
Are you able to also please share the output as well?
Thanks,
Debbie
>
> int main(int argc, const char argv[]) {
> TSS_HCONTEXT hContext;
> TSS_RESULT result;
> TSS_HTPM hTPM = 0;
> TSS_UUID thisID = {9};
> TSS_HKEY hKey, hSRK;
> TSS_UUID SRK_UUID = TSS_UUID_SRK;
> UINT32 pcrs[8] = {0, 1, 2, 3, 4, 5, 6, 7};
> Tspi_Context_Create(&hContext);
> /* Connect to the local TCS provider */
> Tspi_Context_Connect(hContext, NULL);
> Tspi_Context_GetTpmObject(hContext, &hTPM);
> keySetup(&hContext);
> printf(
> "%u is load error\n",
> Tspi_Context_LoadKeyByUUID(hContext, TSS_PS_TYPE_SYSTEM,
> thisID, &hKey));
> sealFile(&hContext, &hTPM, "test.txt", hKey, pcrs, 8);
> unsealFile(&hContext, "test.txt", hKey);
> Tspi_Context_FreeMemory(hContext, NULL);
> result = Tspi_Context_Close(hContext);
> if (result == TSS_SUCCESS) {
> printf("succesfully close context\n");
> } else {
> return 0;
> }
> return 0;
> }
>
>
> int keySetup(TSS_HCONTEXT *hContext) {
>
> TSS_UUID SRK_UUID = TSS_UUID_SRK;
> TSS_UUID thisID = {9};
> TSS_FLAG initFlags;
> TSS_HKEY hSRK, hKey, temp;
> TSS_HPOLICY hPolicy;
> initFlags = TSS_KEY_TYPE_STORAGE | TSS_KEY_SIZE_2048 |
> TSS_KEY_NO_AUTHORIZATION | TSS_KEY_NOT_MIGRATABLE;
>
> /* Load the new key’s parent key, the Storage Root Key */
> Tspi_Context_LoadKeyByUUID(*hContext, TSS_PS_TYPE_SYSTEM, SRK_UUID,
> &hSRK);
> /* Create the software key object */
> Tspi_Context_CreateObject(*hContext, TSS_OBJECT_TYPE_RSAKEY,
> initFlags,
> &hKey);
> Tspi_Key_CreateKey(hKey, hSRK, 0);
> Tspi_Context_UnregisterKey(*hContext, TSS_PS_TYPE_SYSTEM, thisID,
> &temp);
> printf("%u is register error\n",
> Tspi_Context_RegisterKey(*hContext, hKey,
> TSS_PS_TYPE_SYSTEM, thisID,
> TSS_PS_TYPE_SYSTEM, SRK_UUID));
> return 0;
> }
> _______________________________________________
> TrouSerS-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/trousers-users
_______________________________________________
TrouSerS-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/trousers-users