14 const TPMT_PUBLIC *tpmPublic,
15 TPMT_SIG_SCHEME *signatureScheme);
19 const TPMT_PUBLIC *tpmPublic,
20 const unsigned char *signature,
22 TPMI_ALG_HASH hashAlgorithm,
23 TPMT_SIGNATURE *tpmSignature);
27 const TPMT_SIGNATURE *tpmSignature,
29 size_t *signatureSize);
33 const TPM2B_PUBLIC *tpmPublicKey,
40 const uint8_t *signature,
42 const uint8_t *digest,
48 const uint8_t *signature,
50 const uint8_t *digest,
52 const TPMT_SIG_SCHEME *signatureScheme);
60 TPM2_ALG_ID hashAlgorithm);
65 const uint8_t *buffer,
80 const uint8_t *certBuffer,
81 size_t certBufferSize,
83 TPM2_ALG_ID *certAlgorithmId,
84 TPM2B_PUBLIC *tpmPublic);
88 TPM2_ALG_ID hashAlgorithm);
93 TPM2B_PUBLIC *tpmPublic);
98 TPMI_ALG_HASH *hashAlgorithm);
102 const char* pem_cert,
103 TPM2B_PUBLIC *tpm_public);
107 TPM2_ALG_ID signatureAlgorithm,
108 TPM2B_PUBLIC *
template);
116 const TPM2B_PUBLIC *tpmPublicKey,
117 TPMI_ALG_HASH hashAlg,
118 TPM2B_DIGEST *fingerprint);
129 const TPMT_RSA_DECRYPT *rsa_decrypt_scheme,
130 const uint8_t *plainText,
131 size_t plainTextSize,
132 uint8_t **cipherText,
133 size_t *cipherTextSize);
136ifapi_openssl_load_private(
139 const char *object_auth,
140 TPM2B_PUBLIC *
template,
142 TPM2B_SENSITIVE *priv);
void ifapi_crypto_hash_abort(IFAPI_CRYPTO_CONTEXT_BLOB **context)
Definition fapi_crypto.c:1768
TSS2_RC ifapi_crypto_hash_start(IFAPI_CRYPTO_CONTEXT_BLOB **context, TPM2_ALG_ID hashAlgorithm)
Definition fapi_crypto.c:1616
TPM2_ALG_ID ifapi_get_signature_algorithm_from_pem(const char *pemKey)
Definition fapi_crypto.c:1272
TSS2_RC ifapi_get_tpm_key_fingerprint(const TPM2B_PUBLIC *tpmPublicKey, TPMI_ALG_HASH hashAlg, TPM2B_DIGEST *fingerprint)
Definition fapi_crypto.c:1997
TSS2_RC ifapi_cert_to_pem(const uint8_t *certBuffer, size_t certBufferSize, char **pemCert, TPM2_ALG_ID *certAlgorithmId, TPM2B_PUBLIC *tpmPublic)
Definition fapi_crypto.c:1797
TSS2_RC ifapi_der_sig_to_tpm(const TPMT_PUBLIC *tpmPublic, const unsigned char *signature, size_t signatureSize, TPMI_ALG_HASH hashAlgorithm, TPMT_SIGNATURE *tpmSignature)
Definition fapi_crypto.c:819
TSS2_RC ifapi_tpm_ecc_sig_to_der(const TPMT_SIGNATURE *tpmSignature, uint8_t **signature, size_t *signatureSize)
Definition fapi_crypto.c:338
TSS2_RC ifapi_pub_pem_key_from_tpm(const TPM2B_PUBLIC *tpmPublicKey, char **pemKey, int *pemKeySize)
Definition fapi_crypto.c:661
size_t ifapi_hash_get_digest_size(TPM2_ALG_ID hashAlgorithm)
Definition fapi_crypto.c:1580
TSS2_RC ifapi_get_profile_sig_scheme(const IFAPI_PROFILE *profile, const TPMT_PUBLIC *tpmPublic, TPMT_SIG_SCHEME *signatureScheme)
Definition fapi_crypto.c:98
TSS2_RC ifapi_get_hash_alg_for_size(uint16_t size, TPMI_ALG_HASH *hashAlgorithm)
Definition fapi_crypto.c:1889
TSS2_RC ifapi_initialize_sign_public(TPM2_ALG_ID signatureAlgorithm, TPM2B_PUBLIC *template)
Definition fapi_crypto.c:193
TSS2_RC ifapi_verify_signature(const IFAPI_OBJECT *keyObject, const uint8_t *signature, size_t signatureSize, const uint8_t *digest, size_t digestSize)
Definition fapi_crypto.c:1506
TSS2_RC ifapi_crypto_hash_finish(IFAPI_CRYPTO_CONTEXT_BLOB **context, uint8_t *digest, size_t *digestSize)
Definition fapi_crypto.c:1721
TSS2_RC ifapi_get_tpm2b_public_from_pem(const char *pemKey, TPM2B_PUBLIC *tpmPublic)
Definition fapi_crypto.c:1317
TSS2_RC ifapi_get_public_from_pem_cert(const char *pem_cert, TPM2B_PUBLIC *tpm_public)
Definition fapi_crypto.c:1951
TSS2_RC ifapi_verify_signature_quote(const IFAPI_OBJECT *keyObject, const uint8_t *signature, size_t signatureSize, const uint8_t *digest, size_t digestSize, const TPMT_SIG_SCHEME *signatureScheme)
Definition fapi_crypto.c:1367
TSS2_RC ifapi_crypto_hash_update(IFAPI_CRYPTO_CONTEXT_BLOB *context, const uint8_t *buffer, size_t size)
Definition fapi_crypto.c:1688
Definition fapi_crypto.c:48
Definition ifapi_keystore.h:150
Definition ifapi_profiles.h:15