From 0ceeebeaf79c90c8a60cf531680c0c9f2ca9b4f4 Mon Sep 17 00:00:00 2001 From: David Garske Date: Tue, 2 May 2023 13:39:37 -0700 Subject: [PATCH] Fix for building with no PEM to DER. Fix for building with static library and no debug, due to missing stdio in examples. Fix for TLS examples missing WOLFCRYPT_ONLY check. Fix for building with WC_NO_RNG. Fix for RSA salt with RNG using crypto cb. --- examples/attestation/activate_credential.c | 4 ++-- examples/bench/bench.c | 4 ++-- examples/csr/csr.c | 4 ++-- examples/gpio/gpio_config.c | 4 ++-- examples/gpio/gpio_set.c | 9 +++++---- examples/keygen/create_primary.c | 8 ++++---- examples/keygen/keygen.c | 8 ++++---- examples/keygen/keyimport.c | 9 ++++----- examples/keygen/keyload.c | 8 ++++---- examples/nvram/counter.c | 8 ++++---- examples/nvram/read.c | 8 ++++---- examples/nvram/seal_policy_auth_nv_external.c | 4 ++-- examples/nvram/store.c | 8 ++++---- examples/pcr/policy.c | 4 ++-- examples/pcr/read_pcr.c | 4 ++-- examples/pkcs7/pkcs7.c | 4 ++-- examples/seal/seal.c | 5 ++++- examples/seal/seal_policy_auth.c | 4 ++-- examples/seal/unseal.c | 4 ++-- examples/timestamp/clock_set.c | 4 ++-- examples/timestamp/signed_timestamp.c | 4 ++-- examples/tls/tls_client.c | 13 ++++++------ examples/tls/tls_client_notpm.c | 4 ++-- examples/tls/tls_common.h | 3 ++- examples/tls/tls_server.c | 13 ++++++------ examples/tpm_test_keys.c | 2 ++ examples/wrap/wrap_test.c | 6 +++--- src/tpm2.c | 6 ++++-- src/tpm2_wrap.c | 20 +++++++++++-------- wolftpm/tpm2.h | 1 - 30 files changed, 100 insertions(+), 87 deletions(-) diff --git a/examples/attestation/activate_credential.c b/examples/attestation/activate_credential.c index 027a13d6..bf8fe48c 100644 --- a/examples/attestation/activate_credential.c +++ b/examples/attestation/activate_credential.c @@ -25,6 +25,8 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #include @@ -32,8 +34,6 @@ #include #include -#include - /******************************************************************************/ /* --- BEGIN TPM2.0 Activate Credential example tool -- */ diff --git a/examples/bench/bench.c b/examples/bench/bench.c index 0f6c332b..913a78ae 100644 --- a/examples/bench/bench.c +++ b/examples/bench/bench.c @@ -25,6 +25,8 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && !defined(NO_TPM_BENCH) #include @@ -32,8 +34,6 @@ #include #include -#include - /* Configuration */ #define TPM2_BENCH_DURATION_SEC 1 #define TPM2_BENCH_DURATION_KEYGEN_SEC 15 diff --git a/examples/csr/csr.c b/examples/csr/csr.c index 6b76de34..8d5a28cb 100644 --- a/examples/csr/csr.c +++ b/examples/csr/csr.c @@ -23,6 +23,8 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM2_CERT_GEN) #include @@ -31,8 +33,6 @@ #include #include -#include - #ifndef NO_RSA static const char* gClientCsrRsaFile = "./certs/tpm-rsa-cert.csr"; static const char* gClientCertRsaFile = "./certs/tpm-rsa-cert.pem"; diff --git a/examples/gpio/gpio_config.c b/examples/gpio/gpio_config.c index f4ff3ece..8e5b88fd 100644 --- a/examples/gpio/gpio_config.c +++ b/examples/gpio/gpio_config.c @@ -24,6 +24,8 @@ #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && \ (defined(WOLFTPM_ST33) || defined(WOLFTPM_NUVOTON)) @@ -31,8 +33,6 @@ #include #include -#include - /******************************************************************************/ /* --- BEGIN TPM2.0 GPIO Configuration example -- */ /******************************************************************************/ diff --git a/examples/gpio/gpio_set.c b/examples/gpio/gpio_set.c index 91e223ba..8762ce97 100644 --- a/examples/gpio/gpio_set.c +++ b/examples/gpio/gpio_set.c @@ -27,15 +27,16 @@ #include -#include -#include -#include - #include #if !defined(WOLFTPM2_NO_WRAPPER) && \ (defined(WOLFTPM_ST33) || defined(WOLFTPM_NUVOTON)) + +#include +#include +#include + /******************************************************************************/ /* --- BEGIN TPM GPIO Set Example -- */ /******************************************************************************/ diff --git a/examples/keygen/create_primary.c b/examples/keygen/create_primary.c index cb9d9eea..5c1ea67a 100644 --- a/examples/keygen/create_primary.c +++ b/examples/keygen/create_primary.c @@ -23,15 +23,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - -#ifndef WOLFTPM2_NO_WRAPPER - /******************************************************************************/ /* --- BEGIN TPM Create Primary Key Example -- */ /******************************************************************************/ diff --git a/examples/keygen/keygen.c b/examples/keygen/keygen.c index ee7b1153..f983e276 100644 --- a/examples/keygen/keygen.c +++ b/examples/keygen/keygen.c @@ -23,15 +23,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - -#ifndef WOLFTPM2_NO_WRAPPER - #define SYM_EXTRA_OPTS_LEN 14 /* 5 chars for "-sym=" and 9 for extra options */ #define SYM_EXTRA_OPTS_POS 4 /* Array pos of the equal sign for extra opts */ #define SYM_EXTRA_OPTS_AES_MODE_POS 8 diff --git a/examples/keygen/keyimport.c b/examples/keygen/keyimport.c index 119b48ac..77ecd1b8 100644 --- a/examples/keygen/keyimport.c +++ b/examples/keygen/keyimport.c @@ -23,16 +23,15 @@ #include +#include + +#if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) + #include #include #include #include -#include - - -#if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) - /******************************************************************************/ /* --- BEGIN TPM Key Import / Blob Example -- */ /******************************************************************************/ diff --git a/examples/keygen/keyload.c b/examples/keygen/keyload.c index 4036a2a9..6ccb19ee 100644 --- a/examples/keygen/keyload.c +++ b/examples/keygen/keyload.c @@ -31,15 +31,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - - -#ifndef WOLFTPM2_NO_WRAPPER /******************************************************************************/ /* --- BEGIN TPM Key Load Example -- */ /******************************************************************************/ diff --git a/examples/nvram/counter.c b/examples/nvram/counter.c index fccbbc52..60b4de82 100644 --- a/examples/nvram/counter.c +++ b/examples/nvram/counter.c @@ -28,15 +28,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - -#ifndef WOLFTPM2_NO_WRAPPER - /******************************************************************************/ /* --- BEGIN TPM NV Counter Example -- */ /******************************************************************************/ diff --git a/examples/nvram/read.c b/examples/nvram/read.c index 7a3369a0..9097fccc 100644 --- a/examples/nvram/read.c +++ b/examples/nvram/read.c @@ -28,15 +28,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - -#ifndef WOLFTPM2_NO_WRAPPER - #define PRIVATE_PART_ONLY 0x01 #define PUBLIC_PART_ONLY 0x02 diff --git a/examples/nvram/seal_policy_auth_nv_external.c b/examples/nvram/seal_policy_auth_nv_external.c index cac6b4ce..3d09b1c8 100644 --- a/examples/nvram/seal_policy_auth_nv_external.c +++ b/examples/nvram/seal_policy_auth_nv_external.c @@ -23,6 +23,8 @@ #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) && \ defined(WOLFSSL_PUBLIC_MP) @@ -36,8 +38,6 @@ #include #include -#include - #define ECC_KEY_SIZE 32 /******************************************************************************/ diff --git a/examples/nvram/store.c b/examples/nvram/store.c index 70b59f4b..f21a32bb 100644 --- a/examples/nvram/store.c +++ b/examples/nvram/store.c @@ -28,15 +28,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#include - -#ifndef WOLFTPM2_NO_WRAPPER - #define PRIVATE_PART_ONLY 0x01 #define PUBLIC_PART_ONLY 0x02 diff --git a/examples/pcr/policy.c b/examples/pcr/policy.c index 0fb16bea..03aa8cb2 100644 --- a/examples/pcr/policy.c +++ b/examples/pcr/policy.c @@ -23,6 +23,8 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #ifndef WOLFTPM2_NO_WOLFCRYPT @@ -33,8 +35,6 @@ #include #include -#include - static signed char HexCharToByte(signed char ch) { signed char ret = (signed char)ch; diff --git a/examples/pcr/read_pcr.c b/examples/pcr/read_pcr.c index 7f77f37d..098a39ba 100644 --- a/examples/pcr/read_pcr.c +++ b/examples/pcr/read_pcr.c @@ -23,6 +23,8 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #ifndef WOLFTPM2_NO_WOLFCRYPT @@ -33,8 +35,6 @@ #include #include -#include - /******************************************************************************/ /* --- BEGIN TPM2.0 PCR Read example tool -- */ diff --git a/examples/pkcs7/pkcs7.c b/examples/pkcs7/pkcs7.c index f488cecc..a0f8ec8f 100644 --- a/examples/pkcs7/pkcs7.c +++ b/examples/pkcs7/pkcs7.c @@ -23,6 +23,8 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM_CRYPTOCB) && \ defined(HAVE_PKCS7) @@ -32,8 +34,6 @@ #include #include -#include - /* Sign PKCS7 using TPM based key: * Must Run: * 1. `./examples/csr/csr` diff --git a/examples/seal/seal.c b/examples/seal/seal.c index 81eb5962..580e5000 100644 --- a/examples/seal/seal.c +++ b/examples/seal/seal.c @@ -23,12 +23,15 @@ #include +#include + +#ifndef WOLFTPM2_NO_WRAPPER + #include #include #include #include -#ifndef WOLFTPM2_NO_WRAPPER /******************************************************************************/ /* --- BEGIN TPM2.0 Seal Example -- */ diff --git a/examples/seal/seal_policy_auth.c b/examples/seal/seal_policy_auth.c index 453c967f..cfb1c47a 100644 --- a/examples/seal/seal_policy_auth.c +++ b/examples/seal/seal_policy_auth.c @@ -23,6 +23,8 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #ifndef WOLFTPM2_NO_WOLFCRYPT @@ -34,8 +36,6 @@ #include #include -#include - /******************************************************************************/ /* --- BEGIN TPM2.0 PCR Policy example tool -- */ /******************************************************************************/ diff --git a/examples/seal/unseal.c b/examples/seal/unseal.c index ff3fd282..39d3800e 100644 --- a/examples/seal/unseal.c +++ b/examples/seal/unseal.c @@ -23,6 +23,8 @@ #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && !defined(NO_FILESYSTEM) #include @@ -30,8 +32,6 @@ #include #include -#include - /******************************************************************************/ /* --- BEGIN TPM2.0 Unseal example --- */ diff --git a/examples/timestamp/clock_set.c b/examples/timestamp/clock_set.c index 20777fc4..6839726b 100644 --- a/examples/timestamp/clock_set.c +++ b/examples/timestamp/clock_set.c @@ -23,14 +23,14 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #include #include #include "clock_set.h" -#include - /******************************************************************************/ /* --- BEGIN TPM Clock Set Example -- */ /******************************************************************************/ diff --git a/examples/timestamp/signed_timestamp.c b/examples/timestamp/signed_timestamp.c index 72332b2e..afb943d8 100644 --- a/examples/timestamp/signed_timestamp.c +++ b/examples/timestamp/signed_timestamp.c @@ -25,6 +25,8 @@ #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #include @@ -32,8 +34,6 @@ #include #include "signed_timestamp.h" -#include - /******************************************************************************/ /* --- BEGIN TPM Timestamp Test -- */ diff --git a/examples/tls/tls_client.c b/examples/tls/tls_client.c index ee39f311..7fe21ae1 100644 --- a/examples/tls/tls_client.c +++ b/examples/tls/tls_client.c @@ -23,8 +23,10 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM_CRYPTOCB) && \ - !defined(NO_WOLFSSL_CLIENT) + !defined(NO_WOLFSSL_CLIENT) && !defined(WOLFCRYPT_ONLY) #include #include @@ -40,8 +42,6 @@ #define USE_CERT_BUFFERS_256 #include -#include - #ifdef TLS_BENCH_MODE double benchStart; #endif @@ -574,7 +574,8 @@ exit: /* --- END TPM TLS Client Example -- */ /******************************************************************************/ -#endif /* !WOLFTPM2_NO_WRAPPER && WOLFTPM_CRYPTOCB && !NO_WOLFSSL_CLIENT */ +#endif /* !WOLFTPM2_NO_WRAPPER && WOLFTPM_CRYPTOCB && !NO_WOLFSSL_CLIENT && \ + * !WOLFCRYPT_ONLY */ #ifndef NO_MAIN_DRIVER int main(int argc, char* argv[]) @@ -582,13 +583,13 @@ int main(int argc, char* argv[]) int rc = -1; #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM_CRYPTOCB) && \ - !defined(NO_WOLFSSL_CLIENT) + !defined(NO_WOLFSSL_CLIENT) && !defined(WOLFCRYPT_ONLY) rc = TPM2_TLS_ClientArgs(NULL, argc, argv); #else (void)argc; (void)argv; - printf("Wrapper/Crypto callback code not compiled in\n"); + printf("Wrapper/Crypto callback code or TLS support not compiled in\n"); printf("Build wolfssl with ./configure --enable-cryptocb\n"); #endif diff --git a/examples/tls/tls_client_notpm.c b/examples/tls/tls_client_notpm.c index 6ec07c4f..090464ff 100644 --- a/examples/tls/tls_client_notpm.c +++ b/examples/tls/tls_client_notpm.c @@ -23,6 +23,8 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) && \ !defined(NO_WOLFSSL_CLIENT) && !defined(WOLFCRYPT_ONLY) @@ -40,8 +42,6 @@ #define USE_CERT_BUFFERS_256 #include -#include - #ifdef TLS_BENCH_MODE double benchStart; #endif diff --git a/examples/tls/tls_common.h b/examples/tls/tls_common.h index f9f8e973..9b313902 100644 --- a/examples/tls/tls_common.h +++ b/examples/tls/tls_common.h @@ -25,7 +25,8 @@ #include #include -#if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) && !defined(WOLFCRYPT_ONLY) +#if !defined(WOLFTPM2_NO_WRAPPER) && !defined(WOLFTPM2_NO_WOLFCRYPT) && \ + !defined(WOLFCRYPT_ONLY) #include diff --git a/examples/tls/tls_server.c b/examples/tls/tls_server.c index e4c4a872..ac3cec21 100644 --- a/examples/tls/tls_server.c +++ b/examples/tls/tls_server.c @@ -23,8 +23,10 @@ #include #include +#include + #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM_CRYPTOCB) && \ - !defined(NO_WOLFSSL_SERVER) + !defined(NO_WOLFSSL_SERVER) && !defined(WOLFCRYPT_ONLY) #include #include @@ -34,8 +36,6 @@ #include -#include - #ifdef TLS_BENCH_MODE double benchStart; #endif @@ -552,7 +552,8 @@ exit: /* --- END TLS Server Example -- */ /******************************************************************************/ -#endif /* !WOLFTPM2_NO_WRAPPER && WOLFTPM_CRYPTOCB && !NO_WOLFSSL_SERVER */ +#endif /* !WOLFTPM2_NO_WRAPPER && WOLFTPM_CRYPTOCB && !NO_WOLFSSL_SERVER && \ + * !WOLFCRYPT_ONLY */ #ifndef NO_MAIN_DRIVER int main(int argc, char* argv[]) @@ -560,13 +561,13 @@ int main(int argc, char* argv[]) int rc = -1; #if !defined(WOLFTPM2_NO_WRAPPER) && defined(WOLFTPM_CRYPTOCB) && \ - !defined(NO_WOLFSSL_SERVER) + !defined(NO_WOLFSSL_SERVER) && !defined(WOLFCRYPT_ONLY) rc = TPM2_TLS_ServerArgs(NULL, argc, argv); #else (void)argc; (void)argv; - printf("Wrapper/Crypto callback code not compiled in\n"); + printf("Wrapper/Crypto callback code or TLS support not compiled in\n"); printf("Build wolfssl with ./configure --enable-cryptocb\n"); #endif diff --git a/examples/tpm_test_keys.c b/examples/tpm_test_keys.c index 37980537..d8ba762e 100644 --- a/examples/tpm_test_keys.c +++ b/examples/tpm_test_keys.c @@ -30,6 +30,8 @@ #include "tpm_test_keys.h" #include +#include + #define RSA_FILENAME "rsa_test_blob.raw" #define ECC_FILENAME "ecc_test_blob.raw" diff --git a/examples/wrap/wrap_test.c b/examples/wrap/wrap_test.c index 49464ace..e7cd81ed 100644 --- a/examples/wrap/wrap_test.c +++ b/examples/wrap/wrap_test.c @@ -24,14 +24,14 @@ #include #include +#include + #ifndef WOLFTPM2_NO_WRAPPER #include #include #include -#include - /* Configuration */ #if 0 #define ENABLE_LARGE_HASH_TEST /* optional large hash test */ @@ -110,8 +110,8 @@ int TPM2_Wrapper_TestArgs(void* userCtx, int argc, char *argv[]) "\x88\x1d\xc2\x00\xc9\x83\x3d\xa7\x26\xe9\x37\x6c\x2e\x32\xcf\xf7"; #ifndef WOLFTPM2_NO_WOLFCRYPT -#if defined(HAVE_ECC) || !defined(NO_RSA) int tpmDevId = INVALID_DEVID; +#if defined(HAVE_ECC) || !defined(NO_RSA) word32 idx; #endif #ifndef NO_RSA diff --git a/src/tpm2.c b/src/tpm2.c index b5c93845..1ba13a45 100644 --- a/src/tpm2.c +++ b/src/tpm2.c @@ -5894,10 +5894,12 @@ int TPM2_GetWolfRng(WC_RNG** rng) return BAD_FUNC_ARG; if (!ctx->rngInit) { - rc = wc_InitRng(&ctx->rng); + /* Use did_vid for devId (conforms with wolfTPM2_GetTpmDevId) */ + rc = wc_InitRng_ex(&ctx->rng, NULL, ctx->did_vid); if (rc < 0) { #ifdef DEBUG_WOLFTPM - printf("wc_InitRng failed %d: %s\n", (int)rc, wc_GetErrorString(rc)); + printf("wc_InitRng_ex failed %d: %s\n", + (int)rc, wc_GetErrorString(rc)); #endif return rc; } diff --git a/src/tpm2_wrap.c b/src/tpm2_wrap.c index bbaa9eeb..e7a33952 100644 --- a/src/tpm2_wrap.c +++ b/src/tpm2_wrap.c @@ -556,7 +556,7 @@ int wolfTPM2_GetTpmDevId(WOLFTPM2_DEV* dev) return BAD_FUNC_ARG; } - return dev->ctx.did_vid; /* return something besides INVALID_DEVID */ + return (int)dev->ctx.did_vid; /* return something besides INVALID_DEVID */ } int wolfTPM2_SelfTest(WOLFTPM2_DEV* dev) @@ -940,7 +940,7 @@ int wolfTPM2_Cleanup(WOLFTPM2_DEV* dev) #endif } -#if !defined(WOLFTPM2_NO_WOLFCRYPT) && !defined(NO_RSA) +#if !defined(WOLFTPM2_NO_WOLFCRYPT) && !defined(NO_RSA) && !defined(WC_NO_RNG) /* returns both the plaintext and encrypted salt, based on the salt key bPublic. */ int wolfTPM2_RSA_Salt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, TPM2B_DIGEST *salt, TPM2B_ENCRYPTED_SECRET *encSalt, @@ -952,6 +952,7 @@ int wolfTPM2_RSA_Salt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, const char* label = "SECRET"; int mgf; RsaKey rsaKey; + int devId; if (dev == NULL || salt == NULL || encSalt == NULL || publicArea == NULL) { return BAD_FUNC_ARG; @@ -969,11 +970,12 @@ int wolfTPM2_RSA_Salt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, return NOT_COMPILED_IN; } - rc = wc_InitRng(&rng); + devId = wolfTPM2_GetTpmDevId(dev); + rc = wc_InitRng_ex(&rng, NULL, devId); if (rc != 0) return rc; - rc = wc_InitRsaKey_ex(&rsaKey, NULL, INVALID_DEVID); + rc = wc_InitRsaKey_ex(&rsaKey, NULL, devId); if (rc != 0) { wc_FreeRng(&rng); return rc; @@ -1013,7 +1015,7 @@ int wolfTPM2_RSA_Salt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, return rc; } -#endif /* !WOLFTPM2_NO_WOLFCRYPT && !NO_RSA */ +#endif /* !WOLFTPM2_NO_WOLFCRYPT && !NO_RSA && !WC_NO_RNG */ int wolfTPM2_EncryptSalt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, StartAuthSession_In* in, TPM2B_AUTH* bindAuth, TPM2B_DIGEST* salt) @@ -1048,7 +1050,7 @@ int wolfTPM2_EncryptSalt(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, rc = NOT_COMPILED_IN; break; #endif - #ifndef NO_RSA + #if !defined(NO_RSA) && !defined(WC_NO_RNG) case TPM_ALG_RSA: rc = wolfTPM2_RSA_Salt(dev, tpmKey, salt, &in->encryptedSalt, &tpmKey->pub.publicArea); @@ -2169,7 +2171,7 @@ int wolfTPM2_RsaPrivateKeyImportDer(WOLFTPM2_DEV* dev, return rc; } -#ifndef WOLFTPM2_NO_HEAP +#if !defined(WOLFTPM2_NO_HEAP) && defined(WOLFSSL_PEM_TO_DER) int wolfTPM2_RsaPrivateKeyImportPem(WOLFTPM2_DEV* dev, const WOLFTPM2_KEY* parentKey, WOLFTPM2_KEYBLOB* keyBlob, @@ -2209,7 +2211,7 @@ int wolfTPM2_RsaPrivateKeyImportPem(WOLFTPM2_DEV* dev, return rc; } -#endif /* WOLFTPM2_NO_HEAP */ +#endif /* !WOLFTPM2_NO_HEAP && WOLFSSL_PEM_TO_DER */ int wolfTPM2_RsaKey_TpmToWolf(WOLFTPM2_DEV* dev, WOLFTPM2_KEY* tpmKey, RsaKey* wolfKey) @@ -5694,10 +5696,12 @@ int wolfTPM2_CryptoDevCb(int devId, wc_CryptoInfo* info, void* ctx) #endif /* !WC_NO_RNG */ } else if (info->algo_type == WC_ALGO_TYPE_SEED) { + #ifndef WC_NO_RNG #ifdef DEBUG_WOLFTPM printf("CryptoDevCb RNG Seed: Sz %d\n", info->seed.sz); #endif rc = wolfTPM2_GetRandom(tlsCtx->dev, info->seed.seed, info->seed.sz); + #endif /* !WC_NO_RNG */ } #if !defined(NO_RSA) || defined(HAVE_ECC) else if (info->algo_type == WC_ALGO_TYPE_PK) { diff --git a/wolftpm/tpm2.h b/wolftpm/tpm2.h index eae7912e..fdad8f3c 100644 --- a/wolftpm/tpm2.h +++ b/wolftpm/tpm2.h @@ -3609,7 +3609,6 @@ typedef enum { \endcode \sa TPM2_GetCapabilities - \sa TPM2_GetTpmDevId \sa TPM2_Init */ WOLFTPM_API UINT16 TPM2_GetVendorID(void);