.TH "Fapi_ExportKey" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
.ad l
.nh
.SH NAME
Fapi_ExportKey
.SH SYNOPSIS
.br
.PP
.SS "Functions"

.in +1c
.ti -1c
.RI "TSS2_RC \fBFapi_ExportKey\fP (\fBFAPI_CONTEXT\fP *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent, char **exportedData)"
.br
.ti -1c
.RI "TSS2_RC \fBFapi_ExportKey_Async\fP (\fBFAPI_CONTEXT\fP *context, char const *pathOfKeyToDuplicate, char const *pathToPublicKeyOfNewParent)"
.br
.ti -1c
.RI "TSS2_RC \fBFapi_ExportKey_Finish\fP (\fBFAPI_CONTEXT\fP *context, char **exportedData)"
.br
.in -1c
.SH "Detailed Description"
.PP 
FAPI functions to invoke ExportKey either as one-call or in an asynchronous manner\&. 
.SH "Function Documentation"
.PP 
.SS "Fapi_ExportKey (\fBFAPI_CONTEXT\fP * context, char const * pathOfKeyToDuplicate, char const * pathToPublicKeyOfNewParent, char ** exportedData)"
One-Call function for Fapi_ExportKey
.PP
Given a key it will (if the key is a storage key) duplicate the key and package up the duplicated key and all keys below it into a file ready to move to a new TPM\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fIpathOfKeyToDuplicate\fP The path to the root of the subtree to export\&. 
.br
\fIpathToPublicKeyOfNewParent\fP The path to the public key of the new parent\&. May be NULL 
.br
\fIexportedData\fP The exported subtree
.RE
.PP
\fBReturn values:\fP
.RS 4
\fITSS2_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_FAPI_RC_BAD_REFERENCE\fP if context, pathOfKeyToDuplicate or exportedData is NULL\&. 
.br
\fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. 
.br
\fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if pathOfKeyToDuplicate or pathToPublicKeyOfNewParent does not map to a \&. FAPI object\&. 
.br
\fITSS2_FAPI_RC_BAD_KEY\fP if the key at pathToPublicKeyOfNewParent is not suitable for the requeste operation\&. 
.br
\fITSS2_FAPI_RC_KEY_NOT_DUPLICABLE\fP if the key is not a duplicable key\&. 
.br
\fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. 
.br
\fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&. 
.br
\fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&. 
.br
\fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if a path is used in inappropriate context or contains illegal characters\&. 
.br
\fITSS2_FAPI_RC_TRY_AGAIN\fP if an I/O operation is not finished yet and this function needs to be called again\&. 
.br
\fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&. 
.br
\fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if a required authorization callback is not set\&. 
.br
\fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if the authorization attempt fails\&. 
.br
\fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if policy search for a certain policy digest was not successful\&. 
.br
\fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&. 
.br
\fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&. 
.RE
.PP

.SS "Fapi_ExportKey_Async (\fBFAPI_CONTEXT\fP * context, char const * pathOfKeyToDuplicate, char const * pathToPublicKeyOfNewParent)"
Asynchronous function for Fapi_ExportKey
.PP
Given a key it will (if the key is a storage key) duplicate the key and package up the duplicated key and all keys below it into a file ready to move to a new TPM\&.
.PP
Call Fapi_ExportKey_Finish to finish the execution of this command\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fIpathOfKeyToDuplicate\fP The path to the root of the subtree to export\&. 
.br
\fIpathToPublicKeyOfNewParent\fP The path to the public key of the new parent
.RE
.PP
\fBReturn values:\fP
.RS 4
\fITSS2_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_FAPI_RC_BAD_REFERENCE\fP if context or pathOfKeyToDuplicate is NULL\&. 
.br
\fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. 
.br
\fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if pathOfKeyToDuplicate or pathToPublicKeyOfNewParent does not map to a \&. FAPI object\&. 
.br
\fITSS2_FAPI_RC_BAD_KEY\fP if the key at pathToPublicKeyOfNewParent is not suitable for the requeste operation\&. 
.br
\fITSS2_FAPI_RC_KEY_NOT_DUPLICABLE\fP if the key is not a duplicable key\&. 
.br
\fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. 
.br
\fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&. 
.br
\fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&. 
.br
\fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&. 
.br
\fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&. 
.RE
.PP

.SS "Fapi_ExportKey_Finish (\fBFAPI_CONTEXT\fP * context, char ** exportedData)"
Asynchronous finish function for Fapi_ExportKey
.PP
This function should be called after a previous Fapi_ExportKey_Async\&.
.PP
\fBParameters:\fP
.RS 4
\fIcontext\fP The \fBFAPI_CONTEXT\fP 
.br
\fIexportedData\fP The exported subtree
.RE
.PP
\fBReturn values:\fP
.RS 4
\fITSS2_RC_SUCCESS\fP if the function call was a success\&. 
.br
\fITSS2_FAPI_RC_BAD_REFERENCE\fP if context or exportedData is NULL\&. 
.br
\fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&. 
.br
\fITSS2_FAPI_RC_BAD_SEQUENCE\fP if the context has an asynchronous operation already pending\&. 
.br
\fITSS2_FAPI_RC_IO_ERROR\fP if the data cannot be saved\&. 
.br
\fITSS2_FAPI_RC_MEMORY\fP if the FAPI cannot allocate enough memory for internal operations or return parameters\&. 
.br
\fITSS2_FAPI_RC_TRY_AGAIN\fP if the asynchronous operation is not yet complete\&. Call this function again later\&. 
.br
\fITSS2_FAPI_RC_BAD_PATH\fP if a path is used in inappropriate context or contains illegal characters\&. 
.br
\fITSS2_FAPI_RC_BAD_VALUE\fP if an invalid value was passed into the function\&. 
.br
\fITSS2_FAPI_RC_GENERAL_FAILURE\fP if an internal error occurred\&. 
.br
\fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&. 
.br
\fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if a key was not found\&. 
.br
\fITSS2_FAPI_RC_AUTHORIZATION_UNKNOWN\fP if a required authorization callback is not set\&. 
.br
\fITSS2_FAPI_RC_AUTHORIZATION_FAILED\fP if the authorization attempt fails\&. 
.br
\fITSS2_FAPI_RC_POLICY_UNKNOWN\fP if policy search for a certain policy digest was not successful\&. 
.br
\fITSS2_FAPI_RC_NO_TPM\fP if FAPI was initialized in no-TPM-mode via its config file\&. 
.br
\fITSS2_ESYS_RC_*\fP possible error codes of ESAPI\&. 
.br
\fITSS2_FAPI_RC_NOT_PROVISIONED\fP FAPI was not provisioned\&. 
.RE
.PP

.SH "Author"
.PP 
Generated automatically by Doxygen for tpm2-tss from the source code\&.