Skip to content

Commit 251ec11

Browse files
Merge pull request #385 from dgarske/rel_v3.6.0
wolfTPM Release v3.6.0
2 parents 7a6deaa + 3617abc commit 251ec11

File tree

12 files changed

+58
-16
lines changed

12 files changed

+58
-16
lines changed

CMakeLists.txt

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121

2222
cmake_minimum_required(VERSION 3.16)
2323

24-
project(wolfTPM VERSION 3.4.0 LANGUAGES C)
24+
project(wolfTPM VERSION 3.6.0 LANGUAGES C)
2525

2626
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
2727
set(WOLFTPM_DEFINITIONS)
@@ -288,12 +288,14 @@ endif()
288288

289289
if (WOLFTPM_EXAMPLES)
290290
add_tpm_example(activate_credential attestation/activate_credential.c)
291+
add_tpm_example(certify attestation/certify.c)
291292
add_tpm_example(make_credential attestation/make_credential.c)
292293
add_tpm_example(bench bench/bench.c)
294+
add_tpm_example(secret_seal boot/secret_seal.c)
295+
add_tpm_example(secret_unseal boot/secret_unseal.c)
296+
add_tpm_example(secure_rot boot/secure_rot.c)
293297
add_tpm_example(csr csr/csr.c)
294298
add_tpm_example(get_ek_certs endorsement/get_ek_certs.c)
295-
add_tpm_example(ifx_fw_extract firmware/ifx_fw_extract.c)
296-
add_tpm_example(ifx_fw_update firmware/ifx_fw_update.c)
297299
add_tpm_example(gpio_config gpio/gpio_config.c)
298300
add_tpm_example(gpio_read gpio/gpio_read.c)
299301
add_tpm_example(gpio_set gpio/gpio_set.c)
@@ -309,6 +311,7 @@ if (WOLFTPM_EXAMPLES)
309311
add_tpm_example(read nvram/read.c)
310312
add_tpm_example(store nvram/store.c)
311313
add_tpm_example(extend pcr/extend.c)
314+
add_tpm_example(policy pcr/policy.c)
312315
add_tpm_example(policy_sign pcr/policy_sign.c)
313316
add_tpm_example(quote pcr/quote.c)
314317
add_tpm_example(read_pcr pcr/read_pcr.c)
@@ -321,7 +324,9 @@ if (WOLFTPM_EXAMPLES)
321324
add_tpm_example(tls_client tls/tls_client.c)
322325
add_tpm_example(tls_client_notpm tls/tls_client_notpm.c)
323326
add_tpm_example(tls_server tls/tls_server.c)
327+
add_tpm_example(caps wrap/caps.c)
324328
add_tpm_example(wrap_test wrap/wrap_test.c)
329+
add_tpm_example(ifx_fw_update firmware/ifx_fw_update.c)
325330
endif()
326331

327332

ChangeLog.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,41 @@
11
# Release Notes
22

3+
## wolfTPM Release 3.6.0 (Nov 5, 2024)
4+
5+
**Summary**
6+
7+
Release includes minor bug fixes and new features such as TPM provisioning of IDevID/IAK, improved capabilities parsing, new TPM2_Certify example, new wolfTPM2_CreatePrimaryKey_ex API for creation ticket and tested support with Nations NS350 TPM.
8+
9+
**Detail**
10+
11+
* Fixed issue with `TPM2_SetupPCRSel` and added test cases. (PR #372)
12+
* Fixed `RC_WARN` error codes (broken in commit f983525f56c245a8bc998bb20f1f6a8cc7ec748f). (PR #378)
13+
* Fixed issue with RSA/ECC symmetric field (should only be populated with restricted/decrypt) (PR #375)
14+
* Fixed examples/keygen/keygen `-sym=` argument. (PR #372)
15+
* Fixed building wolfCrypt/wolfTPM without ECC or RSA and added tests. (PR #371)
16+
* Fixed file descriptor check for `/dev/tpm0` (PR #366)
17+
* Fixed STM32 GPIO SPI CS control to use pin number as bit offset, not direct value (PR #380)
18+
* Fixed issues building with no filesystem. (PR #374)
19+
* Added support for parsing all capabilities from (TPM2_GetCapability) (PR #383)
20+
* Added support for creation of IDevID or IAK with `examples/keygen/create_primary`. (PR #369)
21+
* Added support for Nations NS350. (PR #382)
22+
* Added example for `TPM2_Certify` (see examples/attestation/certify) (PR #369)
23+
* Added new `wolfTPM2_CreatePrimaryKey_ex` and `WOLFTPM2_PKEY` that supports returning creation ticket/hash. (PR #369)
24+
* Added key templates for initial device (IDevID) and attestation keys (IAK). (PR #369)
25+
* Added new build option for TPM provisioning (`--enable-provisioning` on by default). (PR #369)
26+
* Added simple capabilities example (`examples/wrap/caps`) (PR #382)
27+
* Added example to manual verify quote with ECC signature. (PR #379)
28+
* Added tests for policy seal/unseal with multiple PCR's. (PR #377)
29+
* Added `-alg` argument for PCR extend (PR #383)
30+
* Added helper to get wolfCrypt hash type `TPM2_GetTpmHashType` (PR #384)
31+
* Added new policy hash helper API `wolfTPM2_PolicyHash` (PR #369)
32+
* Added documentation for `/dev/tpm0` permissions (PR #366)
33+
* Improved the TPM TLS examples for use with `WOLFTPM_MFG_IDENTITY` (PR #376)
34+
* Moved PTHREAD definition from options.h to config.h (avoids possible re-declaration issue) PR (#381)
35+
* Switched `handle`/`nvIndex` string parsing to use `strtoul`. (PR #369)
36+
* Various spelling and documentation cleanups. (PR #366 / PR #373)
37+
38+
339
## wolfTPM Release 3.4.0 (July 30, 2024)
440

541
**Summary**

configure.ac

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# All right reserved.
44

55
AC_COPYRIGHT([Copyright (C) 2014-2024 wolfSSL Inc.])
6-
AC_INIT([wolftpm],[3.4.0],[https://github.com/wolfssl/wolfTPM/issues],[wolftpm],[http://www.wolfssl.com])
6+
AC_INIT([wolftpm],[3.6.0],[https://github.com/wolfssl/wolfTPM/issues],[wolftpm],[http://www.wolfssl.com])
77

88
AC_PREREQ([2.63])
99
AC_CONFIG_AUX_DIR([build-aux])
@@ -28,7 +28,7 @@ AC_ARG_PROGRAM
2828

2929
AC_CONFIG_HEADERS([src/config.h])
3030

31-
WOLFTPM_LIBRARY_VERSION=16:3:0
31+
WOLFTPM_LIBRARY_VERSION=16:4:0
3232
# | | |
3333
# +------+ | +---+
3434
# | | |

examples/bench/bench.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -269,7 +269,7 @@ int TPM2_Wrapper_BenchArgs(void* userCtx, int argc, char *argv[])
269269
if (rc != 0) goto exit;
270270

271271
if (paramEncAlg != TPM_ALG_NULL) {
272-
void* bindKey = &storageKey;
272+
WOLFTPM2_KEY* bindKey = &storageKey;
273273
#ifdef NO_RSA
274274
bindKey = NULL; /* cannot bind to key without RSA enabled */
275275
#endif

examples/keygen/keygen.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ int TPM2_Keygen_Example(void* userCtx, int argc, char *argv[])
235235
if (rc != 0) goto exit;
236236

237237
if (paramEncAlg != TPM_ALG_NULL) {
238-
void* bindKey = primary;
238+
WOLFTPM2_KEY* bindKey = primary;
239239
#ifndef HAVE_ECC
240240
if (srkAlg == TPM_ALG_ECC)
241241
bindKey = NULL; /* cannot bind to key without ECC enabled */

examples/keygen/keyimport.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,7 @@ int TPM2_Keyimport_Example(void* userCtx, int argc, char *argv[])
162162
if (rc != 0) goto exit;
163163

164164
if (paramEncAlg != TPM_ALG_NULL) {
165-
void* bindKey = &storage;
165+
WOLFTPM2_KEY* bindKey = &storage;
166166
#ifndef HAVE_ECC
167167
if (srkAlg == TPM_ALG_ECC)
168168
bindKey = NULL; /* cannot bind to key without ECC enabled */

examples/keygen/keyload.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,7 @@ int TPM2_Keyload_Example(void* userCtx, int argc, char *argv[])
159159
if (rc != 0) goto exit;
160160
}
161161
else if (paramEncAlg != TPM_ALG_NULL) {
162-
void* bindKey = &storage;
162+
WOLFTPM2_KEY* bindKey = &storage;
163163
#ifndef HAVE_ECC
164164
if (srkAlg == TPM_ALG_ECC)
165165
bindKey = NULL; /* cannot bind to key without ECC enabled */

examples/pcr/extend.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,6 @@ int TPM2_PCR_Extend_Test(void* userCtx, int argc, char *argv[])
155155
if (filename && fp != XBADFILE) {
156156
rc = TPM2_GetHashType(alg);
157157
hashType = (enum wc_HashType)rc;
158-
rc = 0;
159158
wc_HashInit(&dig, hashType);
160159
while (!XFEOF(fp)) {
161160
len = XFREAD(dataBuffer, 1, sizeof(dataBuffer), fp);

examples/pcr/quote.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ int TPM2_PCR_Quote_Test(void* userCtx, int argc, char *argv[])
184184
#endif
185185

186186
if (paramEncAlg != TPM_ALG_NULL) {
187-
void* bindKey = &storage;
187+
WOLFTPM2_KEY* bindKey = &storage;
188188
#ifndef HAVE_ECC
189189
if (alg == TPM_ALG_ECC)
190190
bindKey = NULL; /* cannot bind to key without ECC enabled */

examples/wrap/wrap_test.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ int TPM2_Wrapper_TestArgs(void* userCtx, int argc, char *argv[])
267267

268268
/* Start an authenticated session (salted / unbound) with parameter encryption */
269269
if (paramEncAlg != TPM_ALG_NULL) {
270-
void* bindKey = &storageKey;
270+
WOLFTPM2_KEY* bindKey = &storageKey;
271271
#ifdef NO_RSA
272272
bindKey = NULL; /* cannot bind to key without RSA enabled */
273273
#endif
@@ -547,7 +547,7 @@ int TPM2_Wrapper_TestArgs(void* userCtx, int argc, char *argv[])
547547

548548
/* Start an authenticated session (salted / unbound) with parameter encryption */
549549
if (paramEncAlg != TPM_ALG_NULL) {
550-
void* bindKey = &storageKey;
550+
WOLFTPM2_KEY* bindKey = &storageKey;
551551
#ifndef HAVE_ECC
552552
bindKey = NULL; /* cannot bind to key without ECC enabled */
553553
#endif

0 commit comments

Comments
 (0)