Tspi_Key_CreateMigrationBlob - 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
Tspi_Key_CreateKey(3), Tspi_Key_CertifyKey(3).