Tspi_Key_WrapKey - wrap a key with the key addressed by hWrappingKey.
#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_WrapKey(TSS_HKEY hKey, TSS_HKEY hWrappingKey,
TSS_HPCRS hPcrComposite);
TSS_Key_WrapKey wraps the private key hKey using the public key
addressed by hWrappingKey. If hPcrComposite is not set to NULL (0), the
created key blob is bound to its PCR values. The key object addressed by
hKey must contain the key information needed for the creation. On
successful return from this call, hKey can be loaded into a TPM.
hKey must have been created as a migratable key and should have its
usage and migrations secrets set using Tspi_Policy_SetSecret(3). Also,
hKey should have had its private key set to either RSA private
component, p or q.
The handle of the key object that is wrapped.
The handle to the key used to wrap the newly created key.
The handle to an object, if the value of the handle doesn't equal NULL, the
newly create key will be bound ot the PCR values described with this object.
Tspi_Key_WrapKey returns TSS_SUCCESS on success, otherwise one of the
following values are returned:
- TSS_E_INVALID_HANDLE - Either hKey, hWrappingKey or
hPcrComposite are invalid handles.
- TSS_E_INTERNAL_ERROR - An error occurred internal to the
TSS.
Tspi_Key_WrapKey conforms to the Trusted Computing Group Software
Specification version 1.1 Golden
Tspi_Key_CreateKey(3), Tspi_Key_CertifyKey(3),
Tspi_Key_RegisterKey(3).