12#include "ifapi_keystore.h"
13#include "ifapi_profiles.h"
14#include "tss2_common.h"
15#include "tss2_tpm2_types.h"
19 const TPMT_PUBLIC *tpmPublic,
20 TPMT_SIG_SCHEME *signatureScheme);
24 const unsigned char *signature,
26 TPMI_ALG_HASH hashAlgorithm,
27 TPMT_SIGNATURE *tpmSignature);
32 size_t *signatureSize);
39 const uint8_t *signature,
41 const uint8_t *digest,
46 const uint8_t *signature,
48 const uint8_t *digest,
50 const TPMT_SIG_SCHEME *signatureScheme);
67 size_t certBufferSize,
69 TPM2_ALG_ID *certAlgorithmId,
70 TPM2B_PUBLIC *tpmPublic);
91 TPMI_ALG_HASH hashAlg,
92 TPM2B_DIGEST *fingerprint);
95ifapi_base64encode(uint8_t *buffer,
size_t buffer_size,
char **b64_data);
98ifapi_rsa_encrypt(
const char *pem_key,
99 const TPMT_RSA_DECRYPT *rsa_decrypt_scheme,
100 const uint8_t *plainText,
101 size_t plainTextSize,
102 uint8_t **cipherText,
103 size_t *cipherTextSize);
106ifapi_openssl_load_private(
const char *pem_key,
108 const char *object_auth,
109 TPM2B_PUBLIC *
template,
111 TPM2B_SENSITIVE *priv);
void ifapi_crypto_hash_abort(IFAPI_CRYPTO_CONTEXT_BLOB **context)
Definition fapi_crypto.c:1660
TSS2_RC ifapi_crypto_hash_start(IFAPI_CRYPTO_CONTEXT_BLOB **context, TPM2_ALG_ID hashAlgorithm)
Definition fapi_crypto.c:1522
TPM2_ALG_ID ifapi_get_signature_algorithm_from_pem(const char *pemKey)
Definition fapi_crypto.c:1206
TSS2_RC ifapi_get_tpm_key_fingerprint(const TPM2B_PUBLIC *tpmPublicKey, TPMI_ALG_HASH hashAlg, TPM2B_DIGEST *fingerprint)
Definition fapi_crypto.c:1880
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:1688
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:789
TSS2_RC ifapi_tpm_ecc_sig_to_der(const TPMT_SIGNATURE *tpmSignature, uint8_t **signature, size_t *signatureSize)
Definition fapi_crypto.c:341
TSS2_RC ifapi_pub_pem_key_from_tpm(const TPM2B_PUBLIC *tpmPublicKey, char **pemKey, int *pemKeySize)
Definition fapi_crypto.c:647
size_t ifapi_hash_get_digest_size(TPM2_ALG_ID hashAlgorithm)
Definition fapi_crypto.c:1487
TSS2_RC ifapi_get_profile_sig_scheme(const IFAPI_PROFILE *profile, const TPMT_PUBLIC *tpmPublic, TPMT_SIG_SCHEME *signatureScheme)
Definition fapi_crypto.c:109
TSS2_RC ifapi_get_hash_alg_for_size(uint16_t size, TPMI_ALG_HASH *hashAlgorithm)
Definition fapi_crypto.c:1775
TSS2_RC ifapi_initialize_sign_public(TPM2_ALG_ID signatureAlgorithm, TPM2B_PUBLIC *template)
Definition fapi_crypto.c:201
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:1422
TSS2_RC ifapi_crypto_hash_finish(IFAPI_CRYPTO_CONTEXT_BLOB **context, uint8_t *digest, size_t *digestSize)
Definition fapi_crypto.c:1616
TSS2_RC ifapi_get_tpm2b_public_from_pem(const char *pemKey, TPM2B_PUBLIC *tpmPublic)
Definition fapi_crypto.c:1251
TSS2_RC ifapi_get_public_from_pem_cert(const char *pem_cert, TPM2B_PUBLIC *tpm_public)
Definition fapi_crypto.c:1835
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:1298
TSS2_RC ifapi_crypto_hash_update(IFAPI_CRYPTO_CONTEXT_BLOB *context, const uint8_t *buffer, size_t size)
Definition fapi_crypto.c:1586
Definition fapi_crypto.c:60
Definition ifapi_keystore.h:153
Definition ifapi_profiles.h:19