mirror of
https://github.com/stefanberger/libtpms
synced 2026-08-07 22:03:09 +00:00
tpm2: Remove test case for OpenSSL SSKDF to KDFe comparison
Remove the test case and renaming of the reference implementation of CryptKDFe. Reverting this patch would bring the test case back in case it was necessary. Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
This commit is contained in:
parent
2ff2f84170
commit
7d95e9ce41
1
.gitignore
vendored
1
.gitignore
vendored
@ -52,7 +52,6 @@ Makefile
|
||||
/tests/base64decode
|
||||
/tests/fuzz
|
||||
/tests/freebl_sha1flattensize
|
||||
/tests/kdfe_openssl
|
||||
/tests/nvram_offsets
|
||||
/tests/object_size
|
||||
/tests/tpm2_createprimary
|
||||
|
||||
@ -392,15 +392,4 @@ LIB_EXPORT UINT16 CryptKDFe(TPM_ALG_ID hashAlg, // IN: hash algorithm used in
|
||||
BYTE* keyStream // OUT: key buffer
|
||||
);
|
||||
|
||||
#if USE_OPENSSL_FUNCTIONS_SSKDF // libtpms added begin: for test case
|
||||
LIB_EXPORT UINT16 ReferenceCryptKDFe(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC
|
||||
TPM2B* Z, // IN: Z
|
||||
const TPM2B* label, // IN: a label value for the KDF
|
||||
TPM2B* partyUInfo, // IN: PartyUInfo
|
||||
TPM2B* partyVInfo, // IN: PartyVInfo
|
||||
UINT32 sizeInBits, // IN: size of generated key in bits
|
||||
BYTE* keyStream // OUT: key buffer
|
||||
);
|
||||
#endif // USE_OPENSSL_FUNCTIONS_SSKDF // libtpms added end
|
||||
|
||||
#endif // _CRYPT_HASH_FP_H_
|
||||
|
||||
@ -815,12 +815,8 @@ LIB_EXPORT UINT16 CryptKDFa(
|
||||
// 0 hash algorithm is not supported or is TPM_ALG_NULL
|
||||
// > 0 the number of bytes in the 'keyStream' buffer
|
||||
//
|
||||
#if USE_OPENSSL_FUNCTIONS_SSKDF // libtpms added: begin
|
||||
LIB_EXPORT UINT16 ReferenceCryptKDFe // Renamed for test case
|
||||
#else
|
||||
LIB_EXPORT UINT16 CryptKDFe
|
||||
#endif // libtpms added
|
||||
(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC
|
||||
#if ! USE_OPENSSL_FUNCTIONS_SSKDF // libtpms added
|
||||
LIB_EXPORT UINT16 CryptKDFe(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC
|
||||
TPM2B* Z, // IN: Z
|
||||
const TPM2B* label, // IN: a label value for the KDF
|
||||
TPM2B* partyUInfo, // IN: PartyUInfo
|
||||
@ -900,7 +896,7 @@ LIB_EXPORT UINT16 CryptKDFe
|
||||
return (UINT16)((sizeInBits + 7) / 8);
|
||||
}
|
||||
|
||||
#if USE_OPENSSL_FUNCTIONS_SSKDF
|
||||
#else // USE_OPENSSL_FUNCTIONS_SSKDF
|
||||
LIB_EXPORT UINT16 CryptKDFe(TPM_ALG_ID hashAlg, // IN: hash algorithm used in HMAC
|
||||
TPM2B* Z, // IN: Z
|
||||
const TPM2B* label, // IN: a label value for the KDF
|
||||
|
||||
@ -56,11 +56,9 @@ if ENABLE_STATIC_TESTS
|
||||
|
||||
# object_size needs ANY_OBJECT_Marshal which only is accessible with '-static'
|
||||
check_PROGRAMS += \
|
||||
object_size \
|
||||
kdfe_openssl
|
||||
object_size
|
||||
TESTS += \
|
||||
object_size \
|
||||
kdfe_openssl
|
||||
object_size
|
||||
|
||||
object_size_SOURCES = object_size.c
|
||||
object_size_CFLAGS = $(AM_CFLAGS) \
|
||||
@ -72,19 +70,6 @@ object_size_CFLAGS = $(AM_CFLAGS) \
|
||||
-I$(top_srcdir)/src/tpm2/crypto/openssl \
|
||||
-DTPM_POSIX
|
||||
object_size_LDFLAGS = $(AM_LDFLAGS)
|
||||
|
||||
kdfe_openssl_SOURCES = kdfe_openssl.c
|
||||
kdfe_openssl_CFLAGS = $(AM_CFLAGS) \
|
||||
-static \
|
||||
-g -ggdb \
|
||||
-I$(top_srcdir)/include/libtpms \
|
||||
-I$(top_srcdir)/src \
|
||||
-I$(top_srcdir)/src/tpm2 \
|
||||
-I$(top_srcdir)/src/tpm2/crypto \
|
||||
-I$(top_srcdir)/src/tpm2/crypto/openssl \
|
||||
-DTPM_POSIX
|
||||
kdfe_openssl_LDFLAGS = $(AM_LDFLAGS)
|
||||
|
||||
endif # ENABLE_STATIC_TESTS
|
||||
endif # WITH_TPM2
|
||||
|
||||
|
||||
@ -1,66 +0,0 @@
|
||||
#if USE_OPENSSL_FUNCTIONS_SSKDF
|
||||
|
||||
#include "Tpm.h"
|
||||
#include "Helpers_fp.h"
|
||||
|
||||
int main(void)
|
||||
{
|
||||
UINT16 gen1, gen2;
|
||||
TPM2B_LABEL Z = {
|
||||
.t.size = 6,
|
||||
.t.buffer = {1, 2, 3, 4, 5, 6},
|
||||
};
|
||||
TPM2B_LABEL label = {
|
||||
.t.size = 5,
|
||||
.t.buffer = "label",
|
||||
};
|
||||
TPM2B_LABEL partyUInfo = {
|
||||
.t.size = 6,
|
||||
.t.buffer = "test12",
|
||||
};
|
||||
TPM2B_LABEL partyVInfo = {
|
||||
.t.size = 7,
|
||||
.t.buffer = "test123",
|
||||
};
|
||||
TPM2B_LABEL info = {
|
||||
.t.size = 8,
|
||||
.t.buffer = "label123",
|
||||
};
|
||||
BYTE keyStream1[128] = {0, }, keyStream2[128] = {0, };
|
||||
UINT32 sizeInBits = 8 * sizeof(keyStream2);
|
||||
TPM_ALG_ID hashAlgs[] = {
|
||||
TPM_ALG_SHA1,
|
||||
TPM_ALG_SHA256,
|
||||
TPM_ALG_SHA384,
|
||||
TPM_ALG_SHA512
|
||||
};
|
||||
size_t i, o;
|
||||
|
||||
for (o = 0; o < 8; o++) {
|
||||
for (i = 0; i < ARRAY_SIZE(hashAlgs); i++) {
|
||||
gen1 = ReferenceCryptKDFe(hashAlgs[i], &Z.b, &label.b,
|
||||
&partyUInfo.b, &partyVInfo.b, sizeInBits - o, keyStream1);
|
||||
|
||||
gen2 = OSSLCryptKDFe(hashAlgs[i], &Z.b, &label.b,
|
||||
&partyUInfo.b, &partyVInfo.b, sizeInBits - o, keyStream2);
|
||||
|
||||
if (gen1 != gen2 || memcmp(keyStream1, keyStream2, gen1)) {
|
||||
fprintf(stderr, "results are not equal: gen1: %d gen2: %d o: %d\n", gen1, gen2, o);
|
||||
fprintf(stderr, "%02x %02x %02x .. %02x\n",
|
||||
keyStream1[0], keyStream1[1], keyStream1[2], keyStream1[gen1 - 1]);
|
||||
fprintf(stderr, "%02x %02x %02x .. %02x\n",
|
||||
keyStream2[0], keyStream2[1], keyStream2[2], keyStream2[gen2 - 1]);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
int main(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user