123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197 |
- .TH "Fapi_Sign" 3 "Fri Oct 7 2022" "Version 3.2.0" "tpm2-tss" \" -*- nroff -*-
- .ad l
- .nh
- .SH NAME
- Fapi_Sign
- .SH SYNOPSIS
- .br
- .PP
- .SS "Functions"
- .in +1c
- .ti -1c
- .RI "TSS2_RC \fBFapi_Sign\fP (\fBFAPI_CONTEXT\fP *context, char const *keyPath, char const *padding, uint8_t const *digest, size_t digestSize, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)"
- .br
- .ti -1c
- .RI "TSS2_RC \fBFapi_Sign_Async\fP (\fBFAPI_CONTEXT\fP *context, char const *keyPath, char const *padding, uint8_t const *digest, size_t digestSize)"
- .br
- .ti -1c
- .RI "TSS2_RC \fBFapi_Sign_Finish\fP (\fBFAPI_CONTEXT\fP *context, uint8_t **signature, size_t *signatureSize, char **publicKey, char **certificate)"
- .br
- .in -1c
- .SH "Detailed Description"
- .PP
- FAPI functions to invoke Sign either as one-call or in an asynchronous manner\&.
- .SH "Function Documentation"
- .PP
- .SS "Fapi_Sign (\fBFAPI_CONTEXT\fP * context, char const * keyPath, char const * padding, uint8_t const * digest, size_t digestSize, uint8_t ** signature, size_t * signatureSize, char ** publicKey, char ** certificate)"
- One-Call function for Fapi_Sign
- .PP
- Uses a key, identified by its path, to sign a digest and puts the result in a TPM2B bytestream\&.
- .PP
- \fBParameters:\fP
- .RS 4
- \fIcontext\fP The \fBFAPI_CONTEXT\fP
- .br
- \fIkeyPath\fP The path of the signature key
- .br
- \fIpadding\fP A padding algorithm\&. Must be either 'RSA_SSA' or 'RSA_PSS' or NULL
- .br
- \fIdigest\fP The digest to sign\&. Must be already hashed
- .br
- \fIdigestSize\fP The size of the digest in bytes
- .br
- \fIsignature\fP The signature
- .br
- \fIsignatureSize\fP The size of signature in bytes\&. May be NULL
- .br
- \fIpublicKey\fP The public key that can be used to verify signature in PEM format\&. May be NULL
- .br
- \fIcertificate\fP The certificate associated with the signing key in PEM format\&. May be NULL
- .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, keyPath, digest or signature is NULL\&.
- .br
- \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&.
- .br
- \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if keyPath does not map to a FAPI key\&.
- .br
- \fITSS2_FAPI_RC_BAD_KEY\fP if the object at keyPath is not a key, or is a key that is unsuitable for the requested operation\&.
- .br
- \fITSS2_FAPI_RC_BAD_VALUE\fP if the digestSize is zero\&.
- .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_TRY_AGAIN\fP if an I/O operation is not finished yet and this function needs to be called again\&.
- .br
- \fITSS2_FAPI_RC_PATH_NOT_FOUND\fP if a FAPI object path was not found during authorization\&.
- .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\&.
- .br
- \fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&.
- .RE
- .PP
- .SS "Fapi_Sign_Async (\fBFAPI_CONTEXT\fP * context, char const * keyPath, char const * padding, uint8_t const * digest, size_t digestSize)"
- Asynchronous function for Fapi_Sign
- .PP
- Uses a key, identified by its path, to sign a digest and puts the result in a TPM2B bytestream\&.
- .PP
- Call Fapi_Sign_Finish to finish the execution of this command\&.
- .PP
- \fBParameters:\fP
- .RS 4
- \fIcontext\fP The \fBFAPI_CONTEXT\fP
- .br
- \fIkeyPath\fP The path of the signature key
- .br
- \fIpadding\fP A padding algorithm\&. Must be either 'RSA_SSA' or 'RSA_PSS' or NULL
- .br
- \fIdigest\fP The digest to sign\&. Must be already hashed
- .br
- \fIdigestSize\fP The size of the digest in bytes
- .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, keyPath or digest is NULL\&.
- .br
- \fITSS2_FAPI_RC_BAD_CONTEXT\fP if context corruption is detected\&.
- .br
- \fITSS2_FAPI_RC_KEY_NOT_FOUND\fP if keyPath does not map to a FAPI key\&.
- .br
- \fITSS2_FAPI_RC_BAD_KEY\fP if the object at keyPath is not a key, or is a key that is unsuitable for the requested operation\&.
- .br
- \fITSS2_FAPI_RC_BAD_VALUE\fP if the digestSize is zero\&.
- .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\&.
- .RE
- .PP
- .SS "Fapi_Sign_Finish (\fBFAPI_CONTEXT\fP * context, uint8_t ** signature, size_t * signatureSize, char ** publicKey, char ** certificate)"
- Asynchronous finish function for Fapi_Sign
- .PP
- This function should be called after a previous Fapi_Sign_Async\&.
- .PP
- \fBParameters:\fP
- .RS 4
- \fIcontext\fP The \fBFAPI_CONTEXT\fP
- .br
- \fIsignature\fP The signature
- .br
- \fIsignatureSize\fP The size of signature in bytes\&. May be NULL
- .br
- \fIpublicKey\fP The public key that can be used to verify signature in PEM format\&. May be NULL
- .br
- \fIcertificate\fP The certificate associated with the signing key in PEM format\&. May be NULL
- .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 signature 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_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_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_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\&.
- .br
- \fITSS2_FAPI_RC_BAD_PATH\fP if the path is used in inappropriate context or contains illegal characters\&.
- .RE
- .PP
- .SH "Author"
- .PP
- Generated automatically by Doxygen for tpm2-tss from the source code\&.
|