| Patch for TPM 1.2 test suite to support recent OpenSSL versions. |
| --- lib/hmac.c.old 2017-07-28 15:44:50.000000000 -0400 |
| +++ lib/hmac.c 2019-03-28 15:48:46.564254873 -0400 |
| @@ -3,7 +3,7 @@ |
| /* TPM HMAC routines */ |
| /* Written by J. Kravitz */ |
| /* IBM Thomas J. Watson Research Center */ |
| -/* $Id: hmac.c 4726 2014-09-03 22:02:10Z kgoldman $ */ |
| +/* $Id: hmac.c 4771 2017-08-31 21:12:33Z kgoldman $ */ |
| /* */ |
| /* (c) Copyright IBM Corporation 2006, 2010. */ |
| /* */ |
| @@ -381,16 +381,29 @@ |
| /****************************************************************************/ |
| uint32_t TSS_rawhmac(unsigned char *digest, const unsigned char *key, unsigned int keylen, ...) |
| { |
| - HMAC_CTX hmac; |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| + HMAC_CTX hmac; |
| +#else |
| + HMAC_CTX *hmac; |
| +#endif |
| unsigned int dlen; |
| unsigned char *data; |
| va_list argp; |
| |
| -#ifdef HAVE_HMAC_CTX_CLEANUP |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| HMAC_CTX_init(&hmac); |
| +#else |
| + hmac = HMAC_CTX_new(); |
| #endif |
| - HMAC_Init(&hmac,key,keylen,EVP_sha1()); |
| |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| + HMAC_Init(&hmac,key,keylen,EVP_sha1()); |
| +#else |
| + HMAC_Init_ex(hmac, |
| + key, keylen, /* HMAC key */ |
| + EVP_sha1(), /* message digest method */ |
| + NULL); |
| +#endif |
| va_start(argp,keylen); |
| for (;;) |
| { |
| @@ -398,14 +411,23 @@ |
| if (dlen == 0) break; |
| data = (unsigned char *)va_arg(argp,unsigned char *); |
| if (data == NULL) return ERR_NULL_ARG; |
| - HMAC_Update(&hmac,data,dlen); |
| + |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| + HMAC_Update(&hmac, data, dlen); |
| +#else |
| + HMAC_Update(hmac, data, dlen); |
| +#endif |
| } |
| - HMAC_Final(&hmac,digest,&dlen); |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| + HMAC_Final(&hmac, digest, &dlen); |
| +#else |
| + HMAC_Final(hmac, digest, &dlen); |
| +#endif |
| |
| -#ifdef HAVE_HMAC_CTX_CLEANUP |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| HMAC_CTX_cleanup(&hmac); |
| #else |
| - HMAC_cleanup(&hmac); |
| + HMAC_CTX_free(hmac); |
| #endif |
| va_end(argp); |
| return 0; |
| --- lib/keys.c.old 2019-03-28 15:47:22.627805826 -0400 |
| +++ lib/keys.c 2019-03-28 15:48:42.665280466 -0400 |
| @@ -1316,8 +1316,12 @@ |
| exp); |
| } |
| /* set up the RSA public key structure */ |
| +#if OPENSSL_VERSION_NUMBER < 0x10100000 |
| rsa->n = mod; |
| rsa->e = exp; |
| +#else |
| + RSA_set0_key(rsa, mod, exp, NULL); |
| +#endif |
| return rsa; |
| } |
| |
| --- utils/test_console.sh.old 2019-03-29 16:34:47.014890971 -0400 |
| +++ utils/test_console.sh 2019-03-29 16:35:16.181691631 -0400 |
| @@ -61,7 +61,7 @@ |
| USE_HWTPM="0" |
| export TPM_SERVER_NAME |
| export TPM_SERVER_PORT |
| -export TPM_TRANSPORT="0" |
| +export TPM_TRANSPORT=${TPM_TRANSPORT:-0} |
| export TPM_TRANSPORT_EK |
| export TPM_TRANSPORT_EKP |
| export TPM_TRANSPORT_SK |
| @@ -71,7 +71,7 @@ |
| export TPM_TRANSPORT_ENONCE |
| export TPM_TRANSPORT_ENC |
| export LOADKEY_VERSION="" |
| -export TPM_AUDITING="0" |
| +export TPM_AUDITING=${TPM_AUDITING:-0} |
| export TPM_IS_FIPS="0" |
| export TPM_ET_ENCRYPT_AES="0" |
| export NO_SRK_PASSWORD=0 |