Create a key blob suitable for migrating to another tpm.
#include <tss/platform.h> #include <tss/tcpa_defines.h> #include <tss/tcpa_typedef.h> #include <tss/tcpa_struct.h> #include <tss/tss_typedef.h> #include <tss/tss_structs.h> #include <tss/tspi.h> TSS_RESULT Tspi_Key_CreateMigrationBlob(TSS_HKEY hKeyToMigrate, TSS_HKEY hParentKey, UINT32 ulMigTicketLength, BYTE* rgbMigTicket, UINT32* pulRandomLength, BYTE** prgbRandom, UINT32* pulMigrationBlobLength, BYTE** prgbMigrationBlob);
Tspi_Key_CreateMigrationBlob returns a key blob containing an encrypted section, which will be different depending on the migration scheme indicated within the migration ticket previously created by the method Tspi_TPM_AuthorizeMigrationTicket().
Handle of the key object to migrate.
Handle to the parent key related to the key addressed by hKeyToMigrate.
The length (in bytes) of the rgbMigTickey parameter.
Pointer to memory containing the migration ticket (migration public key and its authorization digest).
On successful completion this parameter returns the random data length returned at the parameter prgbRandom.
On successful completion this parameter returns the random data.
On successful completion this parameter returns the length of the migration blob data returned at the parameter prgbMigrationBlob.
On successful completion this parameter returns the migration data blob.
Tspi_Key_CreateMigrationBlob returns TSS_SUCCESS on success, otherwise one of the following values are returned:
TSS_E_INVALID_HANDLE - Either hKeyToMigrate, hParentKey or rgbMigTicket are invalid parameters.
TSS_E_BAD_PARAMETER - One of the passed parameters is wrong.
TSS_E_KEY_NO_MIGRATION_POLICY - No migration policy picked.
TSS_E_INTERNAL_ERROR - An error occurred internal to the TSS.
Tspi_Key_CreateMigrationBlob conforms to the Trusted Computing Group Software Specification version 1.1 Golden