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);
117 char* intermed_cert_pem,
122 const TPM2B_PUBLIC *tpmPublicKey,
123 TPMI_ALG_HASH hashAlg,
124 TPM2B_DIGEST *fingerprint);
TSS2_RC ifapi_crypto_hash_update(IFAPI_CRYPTO_CONTEXT_BLOB *context, const uint8_t *buffer, size_t size)
Definition: fapi_crypto.c:1644
size_t ifapi_hash_get_digest_size(TPM2_ALG_ID hashAlgorithm)
Definition: fapi_crypto.c:1536
TPM2_ALG_ID ifapi_get_signature_algorithm_from_pem(const char *pemKey)
Definition: fapi_crypto.c:1228
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:1811
Definition: ifapi_keystore.h:143
TSS2_RC ifapi_get_tpm_key_fingerprint(const TPM2B_PUBLIC *tpmPublicKey, TPMI_ALG_HASH hashAlg, TPM2B_DIGEST *fingerprint)
Definition: fapi_crypto.c:2223
TSS2_RC ifapi_crypto_hash_start(IFAPI_CRYPTO_CONTEXT_BLOB **context, TPM2_ALG_ID hashAlgorithm)
Definition: fapi_crypto.c:1572
TSS2_RC ifapi_get_tpm2b_public_from_pem(const char *pemKey, TPM2B_PUBLIC *tpmPublic)
Definition: fapi_crypto.c:1273
TSS2_RC ifapi_pub_pem_key_from_tpm(const TPM2B_PUBLIC *tpmPublicKey, char **pemKey, int *pemKeySize)
Definition: fapi_crypto.c:657
TSS2_RC ifapi_tpm_ecc_sig_to_der(const TPMT_SIGNATURE *tpmSignature, uint8_t **signature, size_t *signatureSize)
Definition: fapi_crypto.c:334
TSS2_RC ifapi_initialize_sign_public(TPM2_ALG_ID signatureAlgorithm, TPM2B_PUBLIC *template)
Definition: fapi_crypto.c:189
Definition: fapi_crypto.c:50
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:780
TSS2_RC ifapi_get_hash_alg_for_size(uint16_t size, TPMI_ALG_HASH *hashAlgorithm)
Definition: fapi_crypto.c:1903
Definition: ifapi_profiles.h:15
TSS2_RC ifapi_verify_ek_cert(char *root_cert_pem, char *intermed_cert_pem, char *ek_cert_pem)
Definition: fapi_crypto.c:2031
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:1323
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:1462
void ifapi_crypto_hash_abort(IFAPI_CRYPTO_CONTEXT_BLOB **context)
Definition: fapi_crypto.c:1720
TSS2_RC ifapi_crypto_hash_finish(IFAPI_CRYPTO_CONTEXT_BLOB **context, uint8_t *digest, size_t *digestSize)
Definition: fapi_crypto.c:1677
TSS2_RC ifapi_get_profile_sig_scheme(const IFAPI_PROFILE *profile, const TPMT_PUBLIC *tpmPublic, TPMT_SIG_SCHEME *signatureScheme)
Definition: fapi_crypto.c:94
TSS2_RC ifapi_get_public_from_pem_cert(const char *pem_cert, TPM2B_PUBLIC *tpm_public)
Definition: fapi_crypto.c:1965