Toshaan Bharvani
3 years ago
commit
22dac4d7d9
14 changed files with 2338 additions and 0 deletions
@ -0,0 +1,61 @@
@@ -0,0 +1,61 @@
|
||||
From c14bd543879f2336e57aa2dff0b437407d858272 Mon Sep 17 00:00:00 2001 |
||||
From: Juergen Repp <juergen.repp@sit.fraunhofer.de> |
||||
Date: Fri, 19 Feb 2021 14:32:45 +0100 |
||||
Subject: FAPI: Fix reading of the root certificate for |
||||
provisioning. |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
* The root certificate defined by the environment variable FAPI_TEST_ROOT_CERT will |
||||
only be used if it's allowed to use self generated root certificate with |
||||
./configure --enable-self-generated-certificate |
||||
|
||||
* This option is added to all integration tests which are using the TPM simulator. |
||||
|
||||
- Compared to the upstream commit 199b4edc the changes to CI config files |
||||
are omitted. |
||||
|
||||
Signed-off-by: Juergen Repp <juergen.repp@sit.fraunhofer.de> |
||||
--- |
||||
configure.ac | 8 ++++++++ |
||||
src/tss2-fapi/api/Fapi_Provision.c | 4 ++++ |
||||
2 files changed, 12 insertions(+) |
||||
|
||||
diff --git a/configure.ac b/configure.ac |
||||
index f4df879c..d3bbb93d 100755 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -440,6 +440,14 @@ AC_ARG_ENABLE([weakcrypto], |
||||
AS_IF([test "x$enable_weakcrypto" = "xyes"], |
||||
AC_DEFINE([DISABLE_WEAK_CRYPTO],[1],[DISABLE WEAK CRYPTO ALGORITHMS])) |
||||
|
||||
+AC_ARG_ENABLE([self-generated-certificate], |
||||
+ [AS_HELP_STRING([--enable-self-generated-certificate], |
||||
+ [Alllow usage of self generated root certifcate])],, |
||||
+ [enable_self_generated_certificate=no]) |
||||
+AS_IF([test "x$enable_self_generated_certificate" == xyes], |
||||
+ [AC_DEFINE([SELF_GENERATED_CERTIFICATE],[1], [Allow usage of self generated root certifcate])]) |
||||
+ |
||||
+ |
||||
AC_SUBST([PATH]) |
||||
|
||||
dnl --------- Doxy Gen ----------------------- |
||||
diff --git a/src/tss2-fapi/api/Fapi_Provision.c b/src/tss2-fapi/api/Fapi_Provision.c |
||||
index 00534a2e..9cf804ad 100644 |
||||
--- a/src/tss2-fapi/api/Fapi_Provision.c |
||||
+++ b/src/tss2-fapi/api/Fapi_Provision.c |
||||
@@ -797,7 +797,11 @@ Fapi_Provision_Finish(FAPI_CONTEXT *context) |
||||
|
||||
statecase(context->state, PROVISION_PREPARE_READ_ROOT_CERT); |
||||
/* Prepare reading of root certificate. */ |
||||
+ root_ca_file = NULL; |
||||
+#ifdef SELF_GENERATED_CERTIFICATE |
||||
+#pragma message ( "*** Allow self generated certifcate ***" ) |
||||
root_ca_file = getenv("FAPI_TEST_ROOT_CERT"); |
||||
+#endif |
||||
if (!root_ca_file) { |
||||
context->state = PROVISION_EK_CHECK_CERT; |
||||
return TSS2_FAPI_RC_TRY_AGAIN; |
||||
-- |
||||
2.26.3 |
@ -0,0 +1,42 @@
@@ -0,0 +1,42 @@
|
||||
From d680ea548b3ab066f6bea625af5d4000ca32cfee Mon Sep 17 00:00:00 2001 |
||||
From: Jonas Witschel <diabonas@gmx.de> |
||||
Date: Mon, 1 Mar 2021 20:00:17 +0100 |
||||
Subject: FAPI: use FAPI_TEST_EK_CERT_LESS with |
||||
--disable-self-generated-certificate |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Since commit 199b4edc265b2f4758aa22ebf4ed6472a34b9a7a ("FAPI: Fix reading of |
||||
the root certificate for provisioning.") it is required to specify |
||||
--enable-self-generated-certificate in order to make the FAPI integration tests |
||||
pass. This is an option that should usually not be enabled in production builds |
||||
for security reasons, but still some form of integration testing might be |
||||
desirable in this case to verify whether the compiled library works as |
||||
expected. Use FAPI_TEST_EK_CERT_LESS in this case to run the tests without EK |
||||
certificate validation. |
||||
|
||||
Signed-off-by: Jonas Witschel <diabonas@gmx.de> |
||||
--- |
||||
configure.ac | 5 +++-- |
||||
1 file changed, 3 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/configure.ac b/configure.ac |
||||
index d3bbb93d..d4324c9a 100755 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -444,8 +444,9 @@ AC_ARG_ENABLE([self-generated-certificate], |
||||
[AS_HELP_STRING([--enable-self-generated-certificate], |
||||
[Alllow usage of self generated root certifcate])],, |
||||
[enable_self_generated_certificate=no]) |
||||
-AS_IF([test "x$enable_self_generated_certificate" == xyes], |
||||
- [AC_DEFINE([SELF_GENERATED_CERTIFICATE],[1], [Allow usage of self generated root certifcate])]) |
||||
+AS_IF([test "x$enable_self_generated_certificate" = xyes], |
||||
+ [AC_DEFINE([SELF_GENERATED_CERTIFICATE], [1], [Allow usage of self generated root certificate])], |
||||
+ [AS_IF([test "x$integration_tcti" != "xdevice"], [AC_DEFINE([FAPI_TEST_EK_CERT_LESS], [1], [Perform integration tests without EK certificate verification])])]) |
||||
|
||||
|
||||
AC_SUBST([PATH]) |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,29 @@
@@ -0,0 +1,29 @@
|
||||
From c5933320e1bd557cc52f2d56baec4ea52edfbc47 Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sat, 17 Jul 2021 20:15:51 +0200 |
||||
Subject: Makefile.am: Use LIBCRYPTO_CFLAGS when building FAPI |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
Makefile.am | 2 +- |
||||
1 file changed, 1 insertion(+), 1 deletion(-) |
||||
|
||||
diff --git a/Makefile.am b/Makefile.am |
||||
index f2fa515a..0f759adb 100644 |
||||
--- a/Makefile.am |
||||
+++ b/Makefile.am |
||||
@@ -521,7 +521,7 @@ src_tss2_fapi_libtss2_fapi_la_LIBADD = $(libtss2_sys) $(libtss2_mu) $(libtss2_e |
||||
$(libutil) $(libtss2_tctildr) |
||||
|
||||
src_tss2_fapi_libtss2_fapi_la_SOURCES = $(TSS2_FAPI_SRC) |
||||
-src_tss2_fapi_libtss2_fapi_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-fapi |
||||
+src_tss2_fapi_libtss2_fapi_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/src/tss2-fapi $(LIBCRYPTO_CFLAGS) |
||||
src_tss2_fapi_libtss2_fapi_la_LDFLAGS = $(AM_LDFLAGS) $(LIBCRYPTO_LIBS) $(JSONC_LIBS) $(CURL_LIBS) |
||||
if HAVE_LD_VERSION_SCRIPT |
||||
src_tss2_fapi_libtss2_fapi_la_LDFLAGS += -Wl,--version-script=$(srcdir)/lib/tss2-fapi.map |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,35 @@
@@ -0,0 +1,35 @@
|
||||
From 738f6f045e740c3fc21579297990d60b7c2e83ed Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sat, 17 Jul 2021 20:23:32 +0200 |
||||
Subject: Test: Remove duplicate openssl req -new |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
The command is called twice, which is superfluous. Both the key |
||||
and the certificate are created already by the first command. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
script/ekca/create_ca.sh | 5 ----- |
||||
1 file changed, 5 deletions(-) |
||||
|
||||
diff --git a/script/ekca/create_ca.sh b/script/ekca/create_ca.sh |
||||
index 90a5c791..61d976a3 100755 |
||||
--- a/script/ekca/create_ca.sh |
||||
+++ b/script/ekca/create_ca.sh |
||||
@@ -94,11 +94,6 @@ ${SED_CMD} "s|ROOTCRT|$ROOT_URL|g" $OPENSSL_CONF |
||||
|
||||
openssl req -new -out intermed-ca.req.pem -passout file:pass.txt |
||||
|
||||
-openssl req -new \ |
||||
- -key private/intermed-ca.key.pem \ |
||||
- -out intermed-ca.req.pem \ |
||||
- -passin file:pass.txt |
||||
- |
||||
openssl rsa -inform PEM -in private/intermed-ca.key.pem \ |
||||
-outform DER -out private/intermed-ca.key.der -passin file:pass.txt |
||||
|
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,76 @@
@@ -0,0 +1,76 @@
|
||||
From 563f9c951d9b050378b9d3659a932c98ab587b21 Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sat, 17 Jul 2021 21:22:28 +0200 |
||||
Subject: FAPI Test: Call EVP_DigestSignInit in the correct order |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
The EVP_DigestSignInit should be called only once and before calling |
||||
EVP_PKEY_CTX_set_rsa_padding. See a corresponding example |
||||
[here](https://www.openssl.org/docs/man1.0.2/man3/EVP_PKEY_sign_init.html) |
||||
|
||||
Current code works with OpenSSL 1.x, but fails with OpenSSL 3.0. |
||||
This PR makes the code compatible with OpenSSL 1.0 through 3.0. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
test/integration/fapi-data-crypt.int.c | 8 ++------ |
||||
test/integration/fapi-key-create-policy-signed.int.c | 8 ++------ |
||||
2 files changed, 4 insertions(+), 12 deletions(-) |
||||
|
||||
diff --git a/test/integration/fapi-data-crypt.int.c b/test/integration/fapi-data-crypt.int.c |
||||
index b2d20b28..d42466db 100644 |
||||
--- a/test/integration/fapi-data-crypt.int.c |
||||
+++ b/test/integration/fapi-data-crypt.int.c |
||||
@@ -129,8 +129,8 @@ signatureCallback( |
||||
mdctx = EVP_MD_CTX_create(); |
||||
chknull(mdctx); |
||||
|
||||
- if (1 != EVP_DigestSignInit(mdctx, &pctx, NULL, NULL, priv_key)) { |
||||
- goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL digest sign init.", |
||||
+ if (1 != EVP_DigestSignInit(mdctx, &pctx, ossl_hash, NULL, priv_key)) { |
||||
+ goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
error_cleanup); |
||||
} |
||||
if (EVP_PKEY_type(EVP_PKEY_id(priv_key)) == EVP_PKEY_RSA) { |
||||
@@ -140,10 +140,6 @@ signatureCallback( |
||||
error_cleanup); |
||||
} |
||||
} |
||||
- if (1 != EVP_DigestSignInit(mdctx, &pctx, ossl_hash, NULL, priv_key)) { |
||||
- goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
- error_cleanup); |
||||
- } |
||||
if (1 != EVP_DigestSignUpdate(mdctx, dataToSign, dataToSignSize)) { |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign update.", |
||||
error_cleanup); |
||||
diff --git a/test/integration/fapi-key-create-policy-signed.int.c b/test/integration/fapi-key-create-policy-signed.int.c |
||||
index e51289a6..b903dec0 100644 |
||||
--- a/test/integration/fapi-key-create-policy-signed.int.c |
||||
+++ b/test/integration/fapi-key-create-policy-signed.int.c |
||||
@@ -144,8 +144,8 @@ signatureCallback( |
||||
mdctx = EVP_MD_CTX_create(); |
||||
chknull(mdctx); |
||||
|
||||
- if (1 != EVP_DigestSignInit(mdctx, &pctx, NULL, NULL, priv_key)) { |
||||
- goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL digest sign init.", |
||||
+ if (1 != EVP_DigestSignInit(mdctx, &pctx, ossl_hash, NULL, priv_key)) { |
||||
+ goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
error_cleanup); |
||||
} |
||||
if (EVP_PKEY_type(EVP_PKEY_id(priv_key)) == EVP_PKEY_RSA) { |
||||
@@ -155,10 +155,6 @@ signatureCallback( |
||||
error_cleanup); |
||||
} |
||||
} |
||||
- if (1 != EVP_DigestSignInit(mdctx, &pctx, ossl_hash, NULL, priv_key)) { |
||||
- goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
- error_cleanup); |
||||
- } |
||||
if (1 != EVP_DigestSignUpdate(mdctx, dataToSign, dataToSignSize)) { |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign update.", |
||||
error_cleanup); |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
From 6e9c46f8c3bf91aac51b668fa78c3173c885760c Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sat, 17 Jul 2021 21:29:25 +0200 |
||||
Subject: FAPI Test: Use EVP_PKEY_base_id to detect key type |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
The EVP_PKEY_base_id is the right way to detect key type, used also |
||||
by OpenSSL itself. |
||||
This function is available since OpenSSL 1.0.0. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
test/integration/fapi-data-crypt.int.c | 2 +- |
||||
test/integration/fapi-key-create-policy-signed.int.c | 2 +- |
||||
2 files changed, 2 insertions(+), 2 deletions(-) |
||||
|
||||
diff --git a/test/integration/fapi-data-crypt.int.c b/test/integration/fapi-data-crypt.int.c |
||||
index d42466db..a95cc9ef 100644 |
||||
--- a/test/integration/fapi-data-crypt.int.c |
||||
+++ b/test/integration/fapi-data-crypt.int.c |
||||
@@ -133,7 +133,7 @@ signatureCallback( |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
error_cleanup); |
||||
} |
||||
- if (EVP_PKEY_type(EVP_PKEY_id(priv_key)) == EVP_PKEY_RSA) { |
||||
+ if (EVP_PKEY_base_id(priv_key) == EVP_PKEY_RSA) { |
||||
int signing_scheme = RSA_SIG_SCHEME; |
||||
if (1 != EVP_PKEY_CTX_set_rsa_padding(pctx, signing_scheme)) { |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL set RSA padding.", |
||||
diff --git a/test/integration/fapi-key-create-policy-signed.int.c b/test/integration/fapi-key-create-policy-signed.int.c |
||||
index b903dec0..8f917d35 100644 |
||||
--- a/test/integration/fapi-key-create-policy-signed.int.c |
||||
+++ b/test/integration/fapi-key-create-policy-signed.int.c |
||||
@@ -148,7 +148,7 @@ signatureCallback( |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL sign init.", |
||||
error_cleanup); |
||||
} |
||||
- if (EVP_PKEY_type(EVP_PKEY_id(priv_key)) == EVP_PKEY_RSA) { |
||||
+ if (EVP_PKEY_base_id(priv_key) == EVP_PKEY_RSA) { |
||||
int signing_scheme = RSA_SIG_SCHEME; |
||||
if (1 != EVP_PKEY_CTX_set_rsa_padding(pctx, signing_scheme)) { |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "OSSL set RSA padding.", |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,100 @@
@@ -0,0 +1,100 @@
|
||||
From 9ca735ab8f71a6b64f31867e55d43f3f5a51bfec Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sun, 18 Jul 2021 11:54:50 +0200 |
||||
Subject: FAPI Test: Change RSA_sign to EVP_PKEY_sign |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
The EVP_PKEY_sign functions are available since OpenSSL 1.0.0. |
||||
The RSA_sign function is deprecated in OpenSSL 3.0.0. |
||||
|
||||
This PR should work with OpenSSL 1.0.0 through 3.0.0. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
test/integration/fapi-ext-public-key.int.c | 38 +++++++++++----------- |
||||
1 file changed, 19 insertions(+), 19 deletions(-) |
||||
|
||||
diff --git a/test/integration/fapi-ext-public-key.int.c b/test/integration/fapi-ext-public-key.int.c |
||||
index 363c58b7..971d7897 100644 |
||||
--- a/test/integration/fapi-ext-public-key.int.c |
||||
+++ b/test/integration/fapi-ext-public-key.int.c |
||||
@@ -49,7 +49,7 @@ test_fapi_ext_public_key(FAPI_CONTEXT *context) |
||||
BIO *bufio = NULL; |
||||
|
||||
EVP_PKEY *evp_key = NULL; |
||||
- RSA *rsa_key = NULL; |
||||
+ EVP_PKEY_CTX *ctx = NULL; |
||||
|
||||
/* Key will be used for non TPM signature verfication. */ |
||||
char *pubkey_pem = |
||||
@@ -186,10 +186,8 @@ test_fapi_ext_public_key(FAPI_CONTEXT *context) |
||||
|
||||
bufio = BIO_new_mem_buf((void *)priv_pem, strlen(priv_pem)); |
||||
evp_key = PEM_read_bio_PrivateKey(bufio, NULL, NULL, NULL); |
||||
- rsa_key = EVP_PKEY_get1_RSA(evp_key); |
||||
|
||||
- |
||||
- if (!bufio || !evp_key || !rsa_key) { |
||||
+ if (!bufio || !evp_key) { |
||||
LOG_ERROR("Generation of test key failed."); |
||||
goto error; |
||||
} |
||||
@@ -199,10 +197,20 @@ test_fapi_ext_public_key(FAPI_CONTEXT *context) |
||||
0x25, 0x71, 0x78, 0x50, 0xc2, 0x6c, 0x9c, 0xd0, 0xd8, 0x9d |
||||
}; |
||||
uint8_t signature[256]; |
||||
- unsigned int signatureLength = 256; |
||||
+ size_t signatureLength = 256; |
||||
|
||||
- if (!RSA_sign(NID_sha1, digest, 20, signature, &signatureLength, rsa_key)) { |
||||
- LOG_ERROR("Test RSA_sign failed."); |
||||
+ if ((ctx = EVP_PKEY_CTX_new(evp_key, NULL)) == NULL) { |
||||
+ LOG_ERROR("Test EVP_PKEY_CTX_new failed."); |
||||
+ goto error; |
||||
+ } |
||||
+ if (EVP_PKEY_sign_init(ctx) <= 0 |
||||
+ || EVP_PKEY_CTX_set_rsa_padding(ctx, RSA_PKCS1_PADDING) <= 0 |
||||
+ || EVP_PKEY_CTX_set_signature_md(ctx, EVP_sha1()) <= 0) { |
||||
+ LOG_ERROR("Test EVP_PKEY_sign_init failed."); |
||||
+ goto error; |
||||
+ } |
||||
+ if (EVP_PKEY_sign(ctx, signature, &signatureLength, digest, 20) <= 0) { |
||||
+ LOG_ERROR("Test EVP_PKEY_sign failed."); |
||||
goto error; |
||||
} |
||||
|
||||
@@ -243,12 +251,8 @@ test_fapi_ext_public_key(FAPI_CONTEXT *context) |
||||
if (bufio) { |
||||
BIO_free(bufio); |
||||
} |
||||
- if (evp_key) { |
||||
- EVP_PKEY_free(evp_key); |
||||
- } |
||||
- if (rsa_key) { |
||||
- RSA_free(rsa_key); |
||||
- } |
||||
+ EVP_PKEY_CTX_free(ctx); |
||||
+ EVP_PKEY_free(evp_key); |
||||
SAFE_FREE(path_list); |
||||
SAFE_FREE(cert2); |
||||
return EXIT_SUCCESS; |
||||
@@ -258,12 +262,8 @@ error: |
||||
if (bufio) { |
||||
BIO_free(bufio); |
||||
} |
||||
- if (evp_key) { |
||||
- EVP_PKEY_free(evp_key); |
||||
- } |
||||
- if (rsa_key) { |
||||
- RSA_free(rsa_key); |
||||
- } |
||||
+ EVP_PKEY_CTX_free(ctx); |
||||
+ EVP_PKEY_free(evp_key); |
||||
SAFE_FREE(path_list); |
||||
SAFE_FREE(cert2); |
||||
return EXIT_FAILURE; |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,65 @@
@@ -0,0 +1,65 @@
|
||||
From 090a10a69340dc0825f611eceac60bf3f904a5ec Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sat, 17 Jul 2021 22:43:00 +0200 |
||||
Subject: Require OpenSSL >= 1.1.0 |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
To reduce the amount of version-specific code we drop support for |
||||
OpenSSL prior 1.1.0, including all forks such as LibreSSL, which are |
||||
not API compatible with OpenSSL >= 1.1.0. |
||||
|
||||
Python 3.10 will even require OpenSSL >= 1.1.1. The corresponding |
||||
PEP 644 contains a detailed impact analysis which is also relevant |
||||
here. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
INSTALL.md | 3 +-- |
||||
configure.ac | 6 +++++- |
||||
2 files changed, 6 insertions(+), 3 deletions(-) |
||||
|
||||
diff --git a/INSTALL.md b/INSTALL.md |
||||
index eec94c45..658e1f28 100644 |
||||
--- a/INSTALL.md |
||||
+++ b/INSTALL.md |
||||
@@ -14,7 +14,7 @@ following sections describe them for the supported platforms. |
||||
* C library development libraries and header files |
||||
* pkg-config |
||||
* doxygen |
||||
-* OpenSSL development libraries and header files |
||||
+* OpenSSL development libraries and header files, version >= 1.1.0 |
||||
* libcurl development libraries |
||||
|
||||
The following are dependencies only required when building test suites. |
||||
@@ -71,7 +71,6 @@ C Runtime (UCRT) version 10.0.16299.0. Building the type marshaling library |
||||
(tss2-mu.dll) and the system API (tss2-sapi.dll) should be as simple as |
||||
loading the tpm2-tss solution (tpm2-tss.sln) with a compatible and properly |
||||
configured version of Visual Studio 2017 and pressing the 'build' button. |
||||
-Windows build setup requires OpenSSL >= v1.0.2 crypto library. |
||||
|
||||
### References |
||||
Visual Studio 2017 with "Clang for Windows": https://blogs.msdn.microsoft.com/vcblog/2017/03/07/use-any-c-compiler-with-visual-studio/ |
||||
diff --git a/configure.ac b/configure.ac |
||||
index d4324c9a..12baa257 100755 |
||||
--- a/configure.ac |
||||
+++ b/configure.ac |
||||
@@ -132,9 +132,13 @@ AC_ARG_WITH([crypto], |
||||
AM_CONDITIONAL(ESYS_OSSL, test "x$with_crypto" = "xossl") |
||||
AM_CONDITIONAL(ESYS_MBED, test "x$with_crypto" = "xmbed") |
||||
|
||||
+m4_define([ossl_min_version], [1.1.0]) |
||||
+m4_define([ossl_err], [OpenSSL libcrypto is missing or version requirements not met. OpenSSL version must be >= ossl_min_version]) |
||||
AS_IF([test "x$enable_esys" = xyes], |
||||
[AS_IF([test "x$with_crypto" = xossl], [ |
||||
- PKG_CHECK_MODULES([LIBCRYPTO], [libcrypto]) |
||||
+ PKG_CHECK_MODULES([LIBCRYPTO], |
||||
+ [libcrypto >= ossl_min_version],, |
||||
+ [AC_MSG_ERROR([ossl_err])]) |
||||
AC_DEFINE([OSSL], [1], [OpenSSL cryptographic backend]) |
||||
TSS2_ESYS_CFLAGS_CRYPTO="$LIBCRYPTO_CFLAGS" |
||||
TSS2_ESYS_LDFLAGS_CRYPTO="$LIBCRYPTO_LIBS" |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,124 @@
@@ -0,0 +1,124 @@
|
||||
From 75da8bd937e6bca14832240321a679634159f75b Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sun, 18 Jul 2021 13:12:56 +0200 |
||||
Subject: FAPI: Change SHA256_Update to EVP_DigestUpdate |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Although the EVP_DigestUpdate functions are available in all OpenSSL |
||||
versions and the EVP_DigestFinal_ex was added in OpenSSL 0.9.7, the |
||||
EVP_MD_CTX_new was introduced in OpenSSL 1.1.0. |
||||
The SHA256_Update function is deprecated in OpenSSL 3.0.0. |
||||
|
||||
This PR should work with OpenSSL 1.1.0 through 3.0.0. |
||||
|
||||
- Compared to the upstream commit f4f528ff the changes related to the |
||||
unit test are omitted. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
src/tss2-fapi/ifapi_get_intl_cert.c | 43 +++++++++++++++++------------ |
||||
1 file changed, 25 insertions(+), 18 deletions(-) |
||||
|
||||
diff --git a/src/tss2-fapi/ifapi_get_intl_cert.c b/src/tss2-fapi/ifapi_get_intl_cert.c |
||||
index 2fb17fd0..9290a17e 100644 |
||||
--- a/src/tss2-fapi/ifapi_get_intl_cert.c |
||||
+++ b/src/tss2-fapi/ifapi_get_intl_cert.c |
||||
@@ -52,21 +52,26 @@ static unsigned char *hash_ek_public(TPM2B_PUBLIC *ek_public) { |
||||
return NULL; |
||||
} |
||||
|
||||
- SHA256_CTX sha256; |
||||
- int is_success = SHA256_Init(&sha256); |
||||
+ EVP_MD_CTX *sha256ctx = EVP_MD_CTX_new(); |
||||
+ if (!sha256ctx) { |
||||
+ LOG_ERROR("EVP_MD_CTX_new failed"); |
||||
+ goto err; |
||||
+ } |
||||
+ |
||||
+ int is_success = EVP_DigestInit(sha256ctx, EVP_sha256()); |
||||
if (!is_success) { |
||||
- LOG_ERROR("SHA256_Init failed"); |
||||
+ LOG_ERROR("EVP_DigestInit failed"); |
||||
goto err; |
||||
} |
||||
|
||||
switch (ek_public->publicArea.type) { |
||||
case TPM2_ALG_RSA: |
||||
/* Add public key to the hash. */ |
||||
- is_success = SHA256_Update(&sha256, |
||||
- ek_public->publicArea.unique.rsa.buffer, |
||||
- ek_public->publicArea.unique.rsa.size); |
||||
+ is_success = EVP_DigestUpdate(sha256ctx, |
||||
+ ek_public->publicArea.unique.rsa.buffer, |
||||
+ ek_public->publicArea.unique.rsa.size); |
||||
if (!is_success) { |
||||
- LOG_ERROR("SHA256_Update failed"); |
||||
+ LOG_ERROR("EVP_DigestUpdate failed"); |
||||
goto err; |
||||
} |
||||
|
||||
@@ -77,28 +82,28 @@ static unsigned char *hash_ek_public(TPM2B_PUBLIC *ek_public) { |
||||
} |
||||
/* Exponent 65537 will be added. */ |
||||
BYTE buf[3] = { 0x1, 0x00, 0x01 }; |
||||
- is_success = SHA256_Update(&sha256, buf, sizeof(buf)); |
||||
+ is_success = EVP_DigestUpdate(sha256ctx, buf, sizeof(buf)); |
||||
if (!is_success) { |
||||
- LOG_ERROR("SHA256_Update failed"); |
||||
+ LOG_ERROR("EVP_DigestUpdate failed"); |
||||
goto err; |
||||
} |
||||
break; |
||||
|
||||
case TPM2_ALG_ECC: |
||||
- is_success = SHA256_Update(&sha256, |
||||
- ek_public->publicArea.unique.ecc.x.buffer, |
||||
- ek_public->publicArea.unique.ecc.x.size); |
||||
+ is_success = EVP_DigestUpdate(sha256ctx, |
||||
+ ek_public->publicArea.unique.ecc.x.buffer, |
||||
+ ek_public->publicArea.unique.ecc.x.size); |
||||
if (!is_success) { |
||||
- LOG_ERROR("SHA256_Update failed"); |
||||
+ LOG_ERROR("EVP_DigestUpdate failed"); |
||||
goto err; |
||||
} |
||||
|
||||
/* Add public key to the hash. */ |
||||
- is_success = SHA256_Update(&sha256, |
||||
- ek_public->publicArea.unique.ecc.y.buffer, |
||||
- ek_public->publicArea.unique.ecc.y.size); |
||||
+ is_success = EVP_DigestUpdate(sha256ctx, |
||||
+ ek_public->publicArea.unique.ecc.y.buffer, |
||||
+ ek_public->publicArea.unique.ecc.y.size); |
||||
if (!is_success) { |
||||
- LOG_ERROR("SHA256_Update failed"); |
||||
+ LOG_ERROR("EVP_DigestUpdate failed"); |
||||
goto err; |
||||
} |
||||
break; |
||||
@@ -108,17 +113,19 @@ static unsigned char *hash_ek_public(TPM2B_PUBLIC *ek_public) { |
||||
goto err; |
||||
} |
||||
|
||||
- is_success = SHA256_Final(hash, &sha256); |
||||
+ is_success = EVP_DigestFinal_ex(sha256ctx, hash, NULL); |
||||
if (!is_success) { |
||||
LOG_ERROR("SHA256_Final failed"); |
||||
goto err; |
||||
} |
||||
|
||||
+ EVP_MD_CTX_free(sha256ctx); |
||||
LOG_TRACE("public-key-hash:"); |
||||
LOG_TRACE(" sha256: "); |
||||
LOGBLOB_TRACE(&hash[0], SHA256_DIGEST_LENGTH, "Hash"); |
||||
return hash; |
||||
err: |
||||
+ EVP_MD_CTX_free(sha256ctx); |
||||
free(hash); |
||||
return NULL; |
||||
} |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,124 @@
@@ -0,0 +1,124 @@
|
||||
From 89b2bd01f6fa1e267f57b2ceeb2ffaafb9cdb7c0 Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sun, 18 Jul 2021 14:56:18 +0200 |
||||
Subject: Test: Use EVP_MAC_xxx with OpenSSL 3.0 |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Drop support for OpenSSL < 1.1.0 and add support for OpenSSL >= 3.0.0. |
||||
|
||||
The HMAC_Update is deprecated in OpenSSL 3.0, but the replacement |
||||
EVP_MAC_update was added in OpenSSL 3.0, so version specific code is |
||||
needed. |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
test/integration/sys-util.c | 50 +++++++++++++++++++++++-------------- |
||||
1 file changed, 31 insertions(+), 19 deletions(-) |
||||
|
||||
diff --git a/test/integration/sys-util.c b/test/integration/sys-util.c |
||||
index af83cf55..5865f002 100644 |
||||
--- a/test/integration/sys-util.c |
||||
+++ b/test/integration/sys-util.c |
||||
@@ -13,10 +13,13 @@ |
||||
#include <string.h> |
||||
#include <assert.h> |
||||
|
||||
+#include <openssl/evp.h> |
||||
#include <openssl/sha.h> |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
#include <openssl/hmac.h> |
||||
-#include <openssl/evp.h> |
||||
-#include <openssl/opensslv.h> |
||||
+#else |
||||
+#include <openssl/core_names.h> |
||||
+#endif |
||||
|
||||
#define LOGMODULE testintegration |
||||
#include "util/log.h" |
||||
@@ -489,22 +492,18 @@ hmac( |
||||
TPM2B_DIGEST **buffer_list, |
||||
TPM2B_DIGEST *out) |
||||
{ |
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
- HMAC_CTX *ctx; |
||||
-#else |
||||
- HMAC_CTX _ctx; |
||||
- HMAC_CTX *ctx = &_ctx; |
||||
-#endif |
||||
- EVP_MD *evp; |
||||
int rc = 1, i; |
||||
- unsigned int *buf = NULL, size; |
||||
+ unsigned int *buf = NULL; |
||||
uint8_t *buf_ptr; |
||||
+ EVP_MD *evp; |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
- /* HMAC_CTX_new and HMAC_CTX_free are new in openSSL 1.1.0 */ |
||||
- ctx = HMAC_CTX_new(); |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
+ unsigned int size; |
||||
+ HMAC_CTX *ctx = HMAC_CTX_new(); |
||||
#else |
||||
- HMAC_CTX_init(ctx); |
||||
+ size_t size; |
||||
+ EVP_MAC *hmac = EVP_MAC_fetch(NULL, "HMAC", NULL); |
||||
+ EVP_MAC_CTX *ctx = EVP_MAC_CTX_new(hmac); |
||||
#endif |
||||
|
||||
if (!ctx) |
||||
@@ -538,21 +537,33 @@ hmac( |
||||
|
||||
buf_ptr = (uint8_t *)buf; |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
rc = HMAC_Init_ex(ctx, key, key_len, evp, NULL); |
||||
#else |
||||
- rc = HMAC_Init(ctx, key, key_len, evp); |
||||
-#endif |
||||
+ OSSL_PARAM params[2]; |
||||
|
||||
+ params[0] = OSSL_PARAM_construct_utf8_string(OSSL_ALG_PARAM_DIGEST, |
||||
+ (char *)EVP_MD_get0_name(evp), 0); |
||||
+ params[1] = OSSL_PARAM_construct_end(); |
||||
+ rc = EVP_MAC_init(ctx, key, key_len, params); |
||||
+#endif |
||||
if (rc != 1) |
||||
goto out; |
||||
for (i = 0; buffer_list[i] != 0; i++) { |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
rc = HMAC_Update(ctx, buffer_list[i]->buffer, buffer_list[i]->size); |
||||
+#else |
||||
+ rc = EVP_MAC_update(ctx, buffer_list[i]->buffer, buffer_list[i]->size); |
||||
+#endif |
||||
if (rc != 1) |
||||
goto out; |
||||
} |
||||
/* buf_ptr has to be 4 bytes alligned for whatever reason */ |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
rc = HMAC_Final(ctx, buf_ptr, &size); |
||||
+#else |
||||
+ rc = EVP_MAC_final(ctx, buf_ptr, &size, out->size); |
||||
+#endif |
||||
if (rc != 1) |
||||
goto out; |
||||
|
||||
@@ -561,10 +572,11 @@ hmac( |
||||
memcpy(out->buffer, buf, out->size); |
||||
|
||||
out: |
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
+#if OPENSSL_VERSION_NUMBER < 0x30000000L |
||||
HMAC_CTX_free(ctx); |
||||
#else |
||||
- HMAC_CTX_cleanup(ctx); |
||||
+ EVP_MAC_CTX_free(ctx); |
||||
+ EVP_MAC_free(hmac); |
||||
#endif |
||||
|
||||
if (buf) |
||||
-- |
||||
2.26.3 |
||||
|
@ -0,0 +1,313 @@
@@ -0,0 +1,313 @@
|
||||
From df8495b73df96f55425970e76c613b8a0950bf0c Mon Sep 17 00:00:00 2001 |
||||
From: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
Date: Sun, 18 Jul 2021 20:21:01 +0200 |
||||
Subject: Drop support for OpenSSL < 1.1.0 |
||||
MIME-Version: 1.0 |
||||
Content-Type: text/plain; charset=UTF-8 |
||||
Content-Transfer-Encoding: 8bit |
||||
|
||||
Delete code written to support OpenSSL < 1.1.0 |
||||
|
||||
Delete functions that have no effect in OpenSSL >= 1.1.0 |
||||
- ENGINE_load_builtin_engines() |
||||
- OpenSSL_add_all_algorithms() |
||||
- ERR_load_crypto_strings() |
||||
- EC_KEY_set_asn1_flag(ecKey, OPENSSL_EC_NAMED_CURVE) |
||||
|
||||
Switch AppVeyor to use pre-built OpenSSL 1.1.0 |
||||
|
||||
Signed-off-by: Petr Gotthard <petr.gotthard@centrum.cz> |
||||
--- |
||||
src/tss2-esys/esys_crypto_ossl.c | 19 ---------------- |
||||
src/tss2-esys/tss2-esys.vcxproj | 16 +++++++------- |
||||
src/tss2-fapi/fapi_crypto.c | 37 -------------------------------- |
||||
test/helper/tpm_getek.c | 11 ---------- |
||||
test/helper/tpm_getek_ecc.c | 9 -------- |
||||
5 files changed, 8 insertions(+), 84 deletions(-) |
||||
|
||||
diff --git a/src/tss2-esys/esys_crypto_ossl.c b/src/tss2-esys/esys_crypto_ossl.c |
||||
index 2eb0dfcb..a6259346 100644 |
||||
--- a/src/tss2-esys/esys_crypto_ossl.c |
||||
+++ b/src/tss2-esys/esys_crypto_ossl.c |
||||
@@ -525,11 +525,7 @@ iesys_cryptossl_random2b(TPM2B_NONCE * nonce, size_t num_bytes) |
||||
nonce->size = num_bytes; |
||||
} |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
RAND_set_rand_method(RAND_OpenSSL()); |
||||
-#else |
||||
- RAND_set_rand_method(RAND_SSLeay()); |
||||
-#endif |
||||
if (1 != RAND_bytes(&nonce->buffer[0], nonce->size)) { |
||||
RAND_set_rand_method(rand_save); |
||||
return_error(TSS2_ESYS_RC_GENERAL_FAILURE, |
||||
@@ -563,11 +559,7 @@ iesys_cryptossl_pk_encrypt(TPM2B_PUBLIC * pub_tpm_key, |
||||
size_t * out_size, const char *label) |
||||
{ |
||||
const RAND_METHOD *rand_save = RAND_get_rand_method(); |
||||
-#if OPENSSL_VERSION_NUMBER >= 0x10100000L |
||||
RAND_set_rand_method(RAND_OpenSSL()); |
||||
-#else |
||||
- RAND_set_rand_method(RAND_SSLeay()); |
||||
-#endif |
||||
|
||||
TSS2_RC r = TSS2_RC_SUCCESS; |
||||
const EVP_MD * hashAlg = NULL; |
||||
@@ -630,14 +622,6 @@ iesys_cryptossl_pk_encrypt(TPM2B_PUBLIC * pub_tpm_key, |
||||
goto_error(r, TSS2_ESYS_RC_GENERAL_FAILURE, |
||||
"Could not create evp key.", cleanup); |
||||
} |
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000L |
||||
- if (!BN_bin2bn(pub_tpm_key->publicArea.unique.rsa.buffer, |
||||
- pub_tpm_key->publicArea.unique.rsa.size, |
||||
- rsa_key->n)) { |
||||
- goto_error(r, TSS2_ESYS_RC_GENERAL_FAILURE, |
||||
- "Could not create rsa n.", cleanup); |
||||
- } |
||||
-#else |
||||
BIGNUM *n = NULL; |
||||
if (!(n = BN_bin2bn(pub_tpm_key->publicArea.unique.rsa.buffer, |
||||
pub_tpm_key->publicArea.unique.rsa.size, |
||||
@@ -650,7 +634,6 @@ iesys_cryptossl_pk_encrypt(TPM2B_PUBLIC * pub_tpm_key, |
||||
goto_error(r, TSS2_ESYS_RC_GENERAL_FAILURE, |
||||
"Could not set rsa n.", cleanup); |
||||
} |
||||
-#endif |
||||
|
||||
if (1 != EVP_PKEY_set1_RSA(evp_rsa_key, rsa_key)) { |
||||
goto_error(r, TSS2_ESYS_RC_GENERAL_FAILURE, |
||||
@@ -1129,7 +1112,5 @@ iesys_cryptossl_sym_aes_decrypt(uint8_t * key, |
||||
*/ |
||||
TSS2_RC |
||||
iesys_cryptossl_init() { |
||||
- ENGINE_load_builtin_engines(); |
||||
- OpenSSL_add_all_algorithms(); |
||||
return TSS2_RC_SUCCESS; |
||||
} |
||||
diff --git a/src/tss2-esys/tss2-esys.vcxproj b/src/tss2-esys/tss2-esys.vcxproj |
||||
index b75424aa..b2aa67ce 100644 |
||||
--- a/src/tss2-esys/tss2-esys.vcxproj |
||||
+++ b/src/tss2-esys/tss2-esys.vcxproj |
||||
@@ -69,13 +69,13 @@ |
||||
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary> |
||||
<WarningLevel>Level3</WarningLevel> |
||||
<Optimization>Disabled</Optimization> |
||||
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-Win32\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
+ <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-v11-Win32\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
</ClCompile> |
||||
<Link> |
||||
<TargetMachine>MachineX86</TargetMachine> |
||||
<GenerateDebugInformation>true</GenerateDebugInformation> |
||||
<SubSystem>Windows</SubSystem> |
||||
- <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-Win32\lib\libeay32.lib;C:\OpenSSL-Win32\lib\libeay32.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
+ <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-v11-Win32\lib\libcrypto.lib;C:\OpenSSL-v11-Win32\lib\libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
<ModuleDefinitionFile>$(SolutionDir)\lib\tss2-esys.def</ModuleDefinitionFile> |
||||
</Link> |
||||
</ItemDefinitionGroup> |
||||
@@ -84,7 +84,7 @@ |
||||
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;TSS2ESYS_EXPORTS;MAXLOGLEVEL=6;strtok_r=strtok_s;OSSL;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
||||
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary> |
||||
<WarningLevel>Level3</WarningLevel> |
||||
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-Win32\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
+ <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-v11-Win32\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
</ClCompile> |
||||
<Link> |
||||
<TargetMachine>MachineX86</TargetMachine> |
||||
@@ -92,27 +92,27 @@ |
||||
<SubSystem>Windows</SubSystem> |
||||
<EnableCOMDATFolding>true</EnableCOMDATFolding> |
||||
<OptimizeReferences>true</OptimizeReferences> |
||||
- <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-Win32\lib\libeay32.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
+ <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-v11-Win32\lib\libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
<ModuleDefinitionFile>$(SolutionDir)\lib\tss2-esys.def</ModuleDefinitionFile> |
||||
</Link> |
||||
</ItemDefinitionGroup> |
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> |
||||
<ClCompile> |
||||
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-Win64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
+ <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-v11-Win64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
<PreprocessorDefinitions>_DEBUG;_WINDOWS;_USRDLL;TSS2ESYS_EXPORTS;MAXLOGLEVEL=6;strtok_r=strtok_s;OSSL;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
||||
</ClCompile> |
||||
<Link> |
||||
- <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-Win64\lib\libeay32.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
+ <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-v11-Win64\lib\libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
<ModuleDefinitionFile>$(SolutionDir)\lib\tss2-esys.def</ModuleDefinitionFile> |
||||
</Link> |
||||
</ItemDefinitionGroup> |
||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'"> |
||||
<ClCompile> |
||||
- <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-Win64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
+ <AdditionalIncludeDirectories>$(SolutionDir);$(SolutionDir)\src;$(SolutionDir)\include\tss2;$(SolutionDir)\src\tss2-mu;$(SolutionDir)\src\tss2-sys;$(SolutionDir)\src\tss2-esys;C:\OpenSSL-v11-Win64\include;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> |
||||
<PreprocessorDefinitions>NDEBUG;_WINDOWS;_USRDLL;TSS2ESYS_EXPORTS;MAXLOGLEVEL=6;strtok_r=strtok_s;OSSL;%(PreprocessorDefinitions)</PreprocessorDefinitions> |
||||
</ClCompile> |
||||
<Link> |
||||
- <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-Win64\lib\libeay32.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
+ <AdditionalDependencies>$(OutDir)\tss2-mu.lib;$(OutDir)\tss2-sys.lib;$(OutDir)\tss2-tctildr.lib;C:\OpenSSL-v11-Win64\lib\libcrypto.lib;%(AdditionalDependencies)</AdditionalDependencies> |
||||
<ModuleDefinitionFile>$(SolutionDir)\lib\tss2-esys.def</ModuleDefinitionFile> |
||||
</Link> |
||||
</ItemDefinitionGroup> |
||||
diff --git a/src/tss2-fapi/fapi_crypto.c b/src/tss2-fapi/fapi_crypto.c |
||||
index f5b3d272..c97b0a1d 100644 |
||||
--- a/src/tss2-fapi/fapi_crypto.c |
||||
+++ b/src/tss2-fapi/fapi_crypto.c |
||||
@@ -333,12 +333,7 @@ ifapi_tpm_ecc_sig_to_der( |
||||
tpmSignature->signature.ecdsa.signatureR.size, NULL); |
||||
goto_if_null(bnr, "Out of memory", TSS2_FAPI_RC_MEMORY, cleanup); |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- ecdsaSignature->s = bns; |
||||
- ecdsaSignature->r = bnr; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
ECDSA_SIG_set0(ecdsaSignature, bnr, bns); |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
|
||||
osslRC = i2d_ECDSA_SIG(ecdsaSignature, NULL); |
||||
if (osslRC == -1) { |
||||
@@ -424,20 +419,9 @@ ossl_rsa_pub_from_tpm(const TPM2B_PUBLIC *tpmPublicKey, EVP_PKEY *evpPublicKey) |
||||
"Could not set exponent.", error_cleanup); |
||||
} |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- rsa->e = e; |
||||
- rsa->n = n; |
||||
- rsa->d = d; |
||||
- rsa->p = p; |
||||
- rsa->q = q; |
||||
- rsa->dmp1 = dmp1; |
||||
- rsa->dmq1 = dmq1; |
||||
- rsa->iqmp = iqmp; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
RSA_set0_key(rsa, n, e, d); |
||||
RSA_set0_factors(rsa, p, q); |
||||
RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp); |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
|
||||
/* Assign the parameters to the key */ |
||||
if (!EVP_PKEY_assign_RSA(evpPublicKey, rsa)) { |
||||
@@ -541,8 +525,6 @@ ossl_ecc_pub_from_tpm(const TPM2B_PUBLIC *tpmPublicKey, EVP_PKEY *evpPublicKey) |
||||
goto_error(r, TSS2_FAPI_RC_GENERAL_FAILURE, "Assign ecc key", |
||||
error_cleanup); |
||||
} |
||||
- /* Needed for older OSSL versions. */ |
||||
- EC_KEY_set_asn1_flag(ecKey, OPENSSL_EC_NAMED_CURVE); |
||||
OSSL_FREE(y, BN); |
||||
OSSL_FREE(x, BN); |
||||
return TSS2_RC_SUCCESS; |
||||
@@ -654,24 +636,14 @@ ifapi_ecc_der_sig_to_tpm( |
||||
|
||||
/* Initialize the ECDSA signature components */ |
||||
ECDSA_SIG *ecdsaSignature = NULL; |
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- BIGNUM *bnr; |
||||
- BIGNUM *bns; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
const BIGNUM *bnr; |
||||
const BIGNUM *bns; |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
|
||||
d2i_ECDSA_SIG(&ecdsaSignature, &signature, signatureSize); |
||||
return_if_null(ecdsaSignature, "Invalid DER signature", |
||||
TSS2_FAPI_RC_GENERAL_FAILURE); |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- bns = ecdsaSignature->s; |
||||
- bnr = ecdsaSignature->r; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
ECDSA_SIG_get0(ecdsaSignature, &bnr, &bns); |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
|
||||
/* Writing them to the TPM format signature */ |
||||
tpmSignature->signature.ecdsa.hash = hashAlgorithm; |
||||
@@ -933,12 +905,7 @@ get_rsa_tpm2b_public_from_evp( |
||||
const BIGNUM *e = NULL, *n = NULL; |
||||
int rsaKeySize = RSA_size(rsaKey); |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- e = rsaKey->e; |
||||
- n = rsaKey->n; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
RSA_get0_key(rsaKey, &n, &e, NULL); |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
tpmPublic->publicArea.unique.rsa.size = rsaKeySize; |
||||
if (1 != ifapi_bn2binpad(n, &tpmPublic->publicArea.unique.rsa.buffer[0], |
||||
rsaKeySize)) { |
||||
@@ -1650,8 +1617,6 @@ get_crl_from_cert(X509 *cert, X509_CRL **crl) |
||||
goto_error(r, TSS2_FAPI_RC_NO_CERT, "Get crl.", cleanup); |
||||
} |
||||
|
||||
- OpenSSL_add_all_algorithms(); |
||||
- |
||||
unsigned const char* tmp_ptr1 = crl_buffer; |
||||
unsigned const char** tmp_ptr2 = &tmp_ptr1; |
||||
|
||||
@@ -1935,7 +1900,6 @@ ifapi_verify_ek_cert( |
||||
r, TSS2_FAPI_RC_BAD_VALUE, cleanup); |
||||
} else { |
||||
/* Get uri for ek intermediate certificate. */ |
||||
- OpenSSL_add_all_algorithms(); |
||||
info = X509_get_ext_d2i(ek_cert, NID_info_access, NULL, NULL); |
||||
|
||||
for (i = 0; i < sk_ACCESS_DESCRIPTION_num(info); i++) { |
||||
@@ -1955,7 +1919,6 @@ ifapi_verify_ek_cert( |
||||
goto_if_null2(cert_buffer, "No certificate downloaded", r, |
||||
TSS2_FAPI_RC_NO_CERT, cleanup); |
||||
|
||||
- OpenSSL_add_all_algorithms(); |
||||
intermed_cert = get_cert_from_buffer(cert_buffer, cert_buffer_size); |
||||
|
||||
SAFE_FREE(cert_buffer); |
||||
diff --git a/test/helper/tpm_getek.c b/test/helper/tpm_getek.c |
||||
index 21be0f46..c6a8e906 100644 |
||||
--- a/test/helper/tpm_getek.c |
||||
+++ b/test/helper/tpm_getek.c |
||||
@@ -147,20 +147,9 @@ main (int argc, char *argv[]) |
||||
exp = out_public.publicArea.parameters.rsaDetail.exponent; |
||||
BN_set_word(e, exp); |
||||
|
||||
-#if OPENSSL_VERSION_NUMBER < 0x10100000 |
||||
- rsa->e = e; |
||||
- rsa->n = n; |
||||
- rsa->d = d; |
||||
- rsa->p = p; |
||||
- rsa->q = q; |
||||
- rsa->dmp1 = dmp1; |
||||
- rsa->dmq1 = dmq1; |
||||
- rsa->iqmp = iqmp; |
||||
-#else /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
RSA_set0_key(rsa, n, e, d); |
||||
RSA_set0_factors(rsa, p, q); |
||||
RSA_set0_crt_params(rsa, dmp1, dmq1, iqmp); |
||||
-#endif /* OPENSSL_VERSION_NUMBER < 0x10100000 */ |
||||
|
||||
EVP_PKEY_assign_RSA(evp, rsa); |
||||
|
||||
diff --git a/test/helper/tpm_getek_ecc.c b/test/helper/tpm_getek_ecc.c |
||||
index 0419f47a..75165fdd 100644 |
||||
--- a/test/helper/tpm_getek_ecc.c |
||||
+++ b/test/helper/tpm_getek_ecc.c |
||||
@@ -128,14 +128,6 @@ main (int argc, char *argv[]) |
||||
/* Convert the key from out_public to PEM */ |
||||
|
||||
EVP_PKEY *evp = EVP_PKEY_new(); |
||||
- |
||||
- OpenSSL_add_all_algorithms(); |
||||
- |
||||
- OpenSSL_add_all_algorithms(); |
||||
- |
||||
- ERR_load_crypto_strings(); |
||||
- |
||||
- |
||||
EC_KEY *ecc_key = EC_KEY_new(); |
||||
BIGNUM *x = NULL, *y = NULL; |
||||
BIO *bio; |
||||
@@ -159,7 +151,6 @@ main (int argc, char *argv[]) |
||||
if (!EC_KEY_set_group(ecc_key, ecgroup)) |
||||
exit(1); |
||||
|
||||
- EC_KEY_set_asn1_flag(ecc_key, OPENSSL_EC_NAMED_CURVE); |
||||
EC_GROUP_free(ecgroup); |
||||
|
||||
/* Set the ECC parameters in the OpenSSL key */ |
||||
-- |
||||
2.26.3 |
||||
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,15 @@
@@ -0,0 +1,15 @@
|
||||
diff -up tpm2-tss-3.0.0/Doxyfile.in.me tpm2-tss-3.0.0/Doxyfile.in |
||||
--- tpm2-tss-3.0.0/Doxyfile.in.me 2020-09-15 20:24:26.463314644 +0200 |
||||
+++ tpm2-tss-3.0.0/Doxyfile.in 2020-09-15 20:26:29.010866650 +0200 |
||||
@@ -947,7 +947,10 @@ EXCLUDE_PATTERNS = |
||||
# Note that the wildcards are matched against the file with absolute path, so to |
||||
# exclude all test directories use the pattern */test/* |
||||
|
||||
-EXCLUDE_SYMBOLS = *_IN IESYS_CMD_IN_PARAM |
||||
+EXCLUDE_SYMBOLS = StartAuthSession_IN CreatePrimary_IN ContextSave_IN ContextLoad_IN \ |
||||
+ Load_IN LoadExternal_IN CreateLoaded_IN EvictControl_IN HMAC_Start_IN \ |
||||
+ HierarchyChangeAuth_IN SequenceComplete_IN Policy_IN NV_IN FlushContext_IN \ |
||||
+ IESYS_CMD_IN_PARAM |
||||
|
||||
# The EXAMPLE_PATH tag can be used to specify one or more files or directories |
||||
# that contain example code fragments that are included (see the \include |
@ -0,0 +1,302 @@
@@ -0,0 +1,302 @@
|
||||
Name: tpm2-tss |
||||
Version: 3.0.3 |
||||
Release: 7%{?dist} |
||||
Summary: TPM2.0 Software Stack |
||||
|
||||
# The entire source code is under BSD except implementation.h and tpmb.h which |
||||
# is under TCGL(Trusted Computing Group License). |
||||
License: BSD and TCGL |
||||
URL: https://github.com/tpm2-software/tpm2-tss |
||||
Source0: https://github.com/tpm2-software/tpm2-tss/releases/download/%{version}/%{name}-%{version}.tar.gz |
||||
# doxygen crash |
||||
Patch0: tpm2-tss-3.0.0-doxygen.patch |
||||
# OpenSSL 3 support |
||||
Patch1: 0001-FAPI-Fix-reading-of-the-root-certificate-for-provisi.patch |
||||
Patch2: 0002-FAPI-use-FAPI_TEST_EK_CERT_LESS-with-disable-self-ge.patch |
||||
Patch3: 0003-Makefile.am-Use-LIBCRYPTO_CFLAGS-when-building-FAPI.patch |
||||
Patch4: 0004-Test-Remove-duplicate-openssl-req-new.patch |
||||
Patch5: 0005-FAPI-Test-Call-EVP_DigestSignInit-in-the-correct-ord.patch |
||||
Patch6: 0006-FAPI-Test-Use-EVP_PKEY_base_id-to-detect-key-type.patch |
||||
Patch7: 0007-FAPI-Test-Change-RSA_sign-to-EVP_PKEY_sign.patch |
||||
Patch8: 0008-Require-OpenSSL-1.1.0.patch |
||||
Patch9: 0009-FAPI-Change-SHA256_Update-to-EVP_DigestUpdate.patch |
||||
Patch10: 0010-Test-Use-EVP_MAC_xxx-with-OpenSSL-3.0.patch |
||||
Patch11: 0011-Drop-support-for-OpenSSL-1.1.0.patch |
||||
Patch12: 0012-Implement-EVP_PKEY-export-import-for-OpenSSL-3.0.patch |
||||
|
||||
|
||||
%global udevrules_prefix 60- |
||||
|
||||
BuildRequires: make |
||||
BuildRequires: autoconf-archive |
||||
BuildRequires: doxygen |
||||
BuildRequires: gcc |
||||
BuildRequires: gcc-c++ |
||||
BuildRequires: json-c-devel |
||||
BuildRequires: libcurl-devel |
||||
BuildRequires: libgcrypt-devel |
||||
BuildRequires: libtool |
||||
BuildRequires: openssl-devel |
||||
BuildRequires: pkgconfig |
||||
BuildRequires: systemd |
||||
Requires(pre): shadow-utils |
||||
|
||||
%description |
||||
tpm2-tss is a software stack supporting Trusted Platform Module(TPM) 2.0 system |
||||
APIs. It sits between TPM driver and applications, providing TPM2.0 specified |
||||
APIs for applications to access TPM module through kernel TPM drivers. |
||||
|
||||
%prep |
||||
%autosetup -p1 -n %{name}-%{version} |
||||
|
||||
%build |
||||
autoreconf -i |
||||
# Use built-in tpm-udev.rules, with specified installation path and prefix. |
||||
%configure --disable-static --disable-silent-rules \ |
||||
--with-udevrulesdir=%{_udevrulesdir} --with-udevrulesprefix=%{udevrules_prefix} \ |
||||
--with-runstatedir=%{_rundir} --with-tmpfilesdir=%{_tmpfilesdir} --with-sysusersdir=%{_sysusersdir} |
||||
|
||||
# This is to fix Rpath errors. Taken from https://fedoraproject.org/wiki/Packaging:Guidelines#Removing_Rpath |
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool |
||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool |
||||
|
||||
%make_build |
||||
|
||||
%install |
||||
%make_install |
||||
find %{buildroot}%{_libdir} -type f -name \*.la -delete |
||||
|
||||
%pre |
||||
getent group tss >/dev/null || groupadd -f -g 59 -r tss |
||||
if ! getent passwd tss >/dev/null ; then |
||||
if ! getent passwd 59 >/dev/null ; then |
||||
useradd -r -u 59 -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss |
||||
else |
||||
useradd -r -g tss -d /dev/null -s /sbin/nologin -c "Account used for TPM access" tss |
||||
fi |
||||
fi |
||||
exit 0 |
||||
|
||||
%ldconfig_scriptlets |
||||
|
||||
%files |
||||
%doc README.md CHANGELOG.md |
||||
%license LICENSE |
||||
%{_sysconfdir}/tpm2-tss/ |
||||
%{_libdir}/libtss2-mu.so.0* |
||||
%{_libdir}/libtss2-sys.so.1* |
||||
%{_libdir}/libtss2-esys.so.0* |
||||
%{_libdir}/libtss2-fapi.so.1* |
||||
%{_libdir}/libtss2-rc.so.0* |
||||
%{_libdir}/libtss2-tctildr.so.0* |
||||
%{_libdir}/libtss2-tcti-cmd.so.0* |
||||
%{_libdir}/libtss2-tcti-device.so.0* |
||||
%{_libdir}/libtss2-tcti-mssim.so.0* |
||||
%{_libdir}/libtss2-tcti-swtpm.so.0* |
||||
%{_sysusersdir}/tpm2-tss.conf |
||||
%{_tmpfilesdir}/tpm2-tss-fapi.conf |
||||
%{_udevrulesdir}/%{udevrules_prefix}tpm-udev.rules |
||||
|
||||
%package devel |
||||
Summary: Headers and libraries for building apps that use tpm2-tss |
||||
Requires: %{name}%{_isa} = %{version}-%{release} |
||||
|
||||
%description devel |
||||
This package contains headers and libraries required to build applications that |
||||
use tpm2-tss. |
||||
|
||||
%files devel |
||||
%{_includedir}/tss2/ |
||||
%{_libdir}/libtss2-mu.so |
||||
%{_libdir}/libtss2-sys.so |
||||
%{_libdir}/libtss2-esys.so |
||||
%{_libdir}/libtss2-fapi.so |
||||
%{_libdir}/libtss2-rc.so |
||||
%{_libdir}/libtss2-tctildr.so |
||||
%{_libdir}/libtss2-tcti-cmd.so |
||||
%{_libdir}/libtss2-tcti-device.so |
||||
%{_libdir}/libtss2-tcti-mssim.so |
||||
%{_libdir}/libtss2-tcti-swtpm.so |
||||
%{_libdir}/pkgconfig/tss2-mu.pc |
||||
%{_libdir}/pkgconfig/tss2-sys.pc |
||||
%{_libdir}/pkgconfig/tss2-esys.pc |
||||
%{_libdir}/pkgconfig/tss2-fapi.pc |
||||
%{_libdir}/pkgconfig/tss2-rc.pc |
||||
%{_libdir}/pkgconfig/tss2-tctildr.pc |
||||
%{_libdir}/pkgconfig/tss2-tcti-cmd.pc |
||||
%{_libdir}/pkgconfig/tss2-tcti-device.pc |
||||
%{_libdir}/pkgconfig/tss2-tcti-mssim.pc |
||||
%{_libdir}/pkgconfig/tss2-tcti-swtpm.pc |
||||
%{_mandir}/man3/*.3.gz |
||||
%{_mandir}/man5/*.5.gz |
||||
%{_mandir}/man7/tss2*.7.gz |
||||
|
||||
|
||||
%changelog |
||||
* Thu Feb 17 2022 Štěpán Horáček <shoracek@redhat.com> - 3.0.3-7 |
||||
- Rebuild with latest json-c library |
||||
Related: rhbz#2023328 |
||||
|
||||
* Wed Aug 18 2021 Štěpán Horáček <shoracek@redhat.com> - 3.0.3-6 |
||||
- Fix failures while using OpenSSL 3 |
||||
Resolves: rhbz#1984634 |
||||
|
||||
* Tue Aug 10 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.3-5 |
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags |
||||
Related: rhbz#1991688 |
||||
|
||||
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.3-4 |
||||
- Rebuilt for RHEL 9 BETA for openssl 3.0 |
||||
Related: rhbz#1971065 |
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 3.0.3-3 |
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937 |
||||
|
||||
* Wed Jan 27 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild |
||||
|
||||
* Thu Nov 26 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.3-1 |
||||
- Update to 3.0.2 |
||||
|
||||
* Sun Nov 22 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.2-1 |
||||
- Update to 3.0.2 |
||||
|
||||
* Wed Sep 23 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.1-1 |
||||
- Update to 3.0.1 |
||||
|
||||
* Tue Sep 15 2020 Than Ngo <than@redhat.com> - 3.0.0-4 |
||||
- Fix doxygen crash |
||||
|
||||
* Tue Sep 15 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.0-3 |
||||
- Create tss user, if it doesn't exist, for userspace TPM access |
||||
|
||||
* Fri Aug 07 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.0-2 |
||||
- Install sysusers config in sysusersdir (rhbz #1834519) |
||||
|
||||
* Wed Aug 05 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 3.0.0-1 |
||||
- Update to 3.0.0 |
||||
|
||||
* Wed Aug 05 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.4.2-1 |
||||
- Update to 2.4.2 |
||||
|
||||
* Wed Jul 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.4.1-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild |
||||
|
||||
* Thu May 14 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.4.1-1 |
||||
- Update to 2.4.1 |
||||
|
||||
* Fri May 08 2020 Paul Wouters <pwouters@redhat.com> - 2.4.0-3 |
||||
- Use proper rundir and tmpfiles macros so proper directories are used |
||||
|
||||
* Tue Apr 21 2020 Björn Esser <besser82@fedoraproject.org> - 2.4.0-2 |
||||
- Rebuild (json-c) |
||||
|
||||
* Thu Mar 12 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.4.0-1 |
||||
- Update to 2.4.0 release |
||||
|
||||
* Mon Feb 24 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 2.3.3-1 |
||||
- Update to 2.3.3 release |
||||
|
||||
* Fri Jan 31 2020 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.2-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild |
||||
|
||||
* Fri Dec 13 2019 Yunying Sun <yunying.sun@intel.com> - 2.3.2-1 |
||||
- Update to 2.3.2 release |
||||
|
||||
* Fri Sep 6 2019 Yunying Sun <yunying.sun@intel.com> - 2.3.1-1 |
||||
- Update to 2.3.1 release |
||||
|
||||
* Thu Aug 15 2019 Yunying Sun <yunying.sun@intel.com> - 2.3.0-1 |
||||
- Update to 2.3.0 release |
||||
|
||||
* Sat Jul 27 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.2.3-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild |
||||
|
||||
* Wed May 29 2019 Yunying Sun <yunying.sun@intel.com> - 2.2.3-1 |
||||
- Update to 2.2.3 release |
||||
|
||||
* Fri Mar 29 2019 Yunying Sun <yunying.sun@intel.com> - 2.2.2-1 |
||||
- Update to 2.2.2 release |
||||
|
||||
* Mon Mar 4 2019 Peter Robinson <pbrobinson@fedoraproject.org> 2.2.1-1 |
||||
- Update to 2.2.1 release |
||||
|
||||
* Wed Feb 06 2019 Javier Martinez Canillas <javierm@redhat.com> - 2.2.0-1 |
||||
- Update to 2.2.0 release |
||||
|
||||
* Sun Feb 03 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.1.0-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild |
||||
|
||||
* Wed Oct 10 2018 Yunying Sun <yunying.sun@intel.com> - 2.1.0-1 |
||||
- Update to 2.1.0 release |
||||
|
||||
* Thu Aug 30 2018 Yunying Sun <yunying.sun@intel.com> - 2.0.1-1 |
||||
- Update to 2.0.1 release |
||||
|
||||
* Sat Jul 14 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.0-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild |
||||
|
||||
* Wed Jul 4 2018 Yunying Sun <yunying.sun@intel.com> - 2.0.0-2 |
||||
- Re-enable ESAPI since gcrypt dependency is not an issue for Fedora |
||||
- Bump release version to 2.0.0-2 |
||||
|
||||
* Mon Jul 2 2018 Yunying Sun <yunying.sun@intel.com> - 2.0.0-1 |
||||
- Update to 2.0.0 release (RHBZ#1508870) |
||||
- Remove patch file 60-tpm-udev.rules, use upstream tpm-udev.rules instead |
||||
- Disable ESAPI to fix build errors caused by dependency to libgcrypt 1.6.0 |
||||
- Add scriptlet to fix Rpath errors |
||||
- Update file installation paths and names accordingly |
||||
|
||||
* Sun Mar 04 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.4.0-1 |
||||
- Update URLs to point to the new project location |
||||
- Add README.md CHANGELOG.md to %%files directive |
||||
- Update to 1.4.0 release (RHBZ#1508870) |
||||
|
||||
* Fri Feb 23 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-4 |
||||
- Install udev rule for TPM character devices |
||||
|
||||
* Wed Feb 21 2018 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-3 |
||||
- Remove ExclusiveArch: %%{ix86} x86_64 directive |
||||
|
||||
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.3.0-2 |
||||
- Escape macros in %%changelog |
||||
|
||||
* Fri Dec 08 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-1 |
||||
- Update to 1.3.0 release |
||||
|
||||
* Wed Nov 29 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.3.0-0.1.rc2 |
||||
- Update to 1.3.0 release candidate 2 (RHBZ#1508870) |
||||
- Remove global pkg_prefix since now the upstream repo and package names match |
||||
- Update URLs to point to the new project location |
||||
- Remove -Wno-int-in-bool-context compiler flag since now upstream takes care |
||||
- Remove %%doc directive since README.md and CHANGELOG.md are not in the tarball |
||||
- Add patch to include a LICENSE since the generated tarball does not have it |
||||
|
||||
* Mon Aug 28 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.2.0-1 |
||||
- Update to 1.2.0 release |
||||
- Use tpm2-tss instead of TPM2.0-TSS as prefix since project name changed |
||||
- Fix SPEC file access mode |
||||
- Include new man pages in %%files directive |
||||
|
||||
* Fri Aug 18 2017 Javier Martinez Canillas <javierm@redhat.com> - 1.1.0-3 |
||||
- Remove unneeded source tarballs (RHBZ#1482828) |
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild |
||||
|
||||
* Wed Jul 26 2017 Sun Yunying <yunying.sun@intel.com> - 1.1.0-1 |
||||
- Update to 1.1.0 release |
||||
|
||||
* Sat Feb 11 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0-3 |
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild |
||||
|
||||
* Mon Dec 12 2016 Sun Yunying <yunying.sun@intel.com> - 1.0-2 |
||||
- Remove global macro pkg_version to avoid duplicate of version |
||||
- Use ExclusiveArch instead of ExcludeArch |
||||
- Use less wildcard in %%files section to be more specific |
||||
- Add trailing slash at end of added directory in %%file section |
||||
- Remove autoconf/automake/pkgconfig(cmocka) from BuildRequires |
||||
- Increase release version to 2 |
||||
|
||||
* Fri Dec 2 2016 Sun Yunying <yunying.sun@intel.com> - 1.0-1 |
||||
- Initial version of the package |
Loading…
Reference in new issue