SYNOPSIS
#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);
DESCRIPTION
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().
PARAMETERS
hKeyToMigrate
Handle of the key object to migrate.
hParentKey
Handle to the parent key related to the key addressed by hKeyToMigrate.
ulMigTicketLength
The length (in bytes) of the rgbMigTickey parameter.
rgbMigTicket
Pointer to memory containing the migration ticket (migration public key and its authorization digest).
pulRandomLength
On successful completion this parameter returns the random data length returned at the parameter prgbRandom.
prgbRandom
On successful completion this parameter returns the random data.
pulMigrationBlobLength
On successful completion this parameter returns the length of the migration blob data returned at the parameter prgbMigrationBlob.
prgbMigrationBlob
On successful completion this parameter returns the migration data blob.
RETURN CODES
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.
CONFORMING TO
Tspi_Key_CreateMigrationBlob conforms to the Trusted Computing Group Software Specification version 1.1 Golden