Latest update.
This commit is contained in:
@@ -297,6 +297,7 @@ static int test_kdf_x963(void)
|
||||
return ret;
|
||||
}
|
||||
|
||||
#if !defined(OPENSSL_NO_CMAC) && !defined(OPENSSL_NO_CAMELLIA)
|
||||
/*
|
||||
* KBKDF test vectors from RFC 6803 (Camellia Encryption for Kerberos 5)
|
||||
* section 10.
|
||||
@@ -421,6 +422,7 @@ static int test_kdf_kbkdf_6803_256(void)
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Two test vectors from RFC 8009 (AES Encryption with HMAC-SHA2 for Kerberos
|
||||
* 5) appendix A. */
|
||||
@@ -732,10 +734,49 @@ static int test_kdf_x942_asn1(void)
|
||||
}
|
||||
#endif /* OPENSSL_NO_CMS */
|
||||
|
||||
static int test_kdf_krb5kdf(void)
|
||||
{
|
||||
int ret;
|
||||
EVP_KDF_CTX *kctx;
|
||||
OSSL_PARAM params[4], *p = params;
|
||||
unsigned char out[16];
|
||||
static unsigned char key[] = {
|
||||
0x42, 0x26, 0x3C, 0x6E, 0x89, 0xF4, 0xFC, 0x28,
|
||||
0xB8, 0xDF, 0x68, 0xEE, 0x09, 0x79, 0x9F, 0x15
|
||||
};
|
||||
static unsigned char constant[] = {
|
||||
0x00, 0x00, 0x00, 0x02, 0x99
|
||||
};
|
||||
static const unsigned char expected[sizeof(out)] = {
|
||||
0x34, 0x28, 0x0A, 0x38, 0x2B, 0xC9, 0x27, 0x69,
|
||||
0xB2, 0xDA, 0x2F, 0x9E, 0xF0, 0x66, 0x85, 0x4B
|
||||
};
|
||||
|
||||
*p++ = OSSL_PARAM_construct_utf8_string(OSSL_KDF_PARAM_CIPHER,
|
||||
(char *)"AES-128-CBC",
|
||||
sizeof("AES-128-CBC"));
|
||||
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_KEY, key,
|
||||
sizeof(key));
|
||||
*p++ = OSSL_PARAM_construct_octet_string(OSSL_KDF_PARAM_CONSTANT,
|
||||
constant, sizeof(constant));
|
||||
*p = OSSL_PARAM_construct_end();
|
||||
|
||||
ret =
|
||||
TEST_ptr(kctx = get_kdfbyname(OSSL_KDF_NAME_KRB5KDF))
|
||||
&& TEST_true(EVP_KDF_CTX_set_params(kctx, params))
|
||||
&& TEST_int_gt(EVP_KDF_derive(kctx, out, sizeof(out)), 0)
|
||||
&& TEST_mem_eq(out, sizeof(out), expected, sizeof(expected));
|
||||
|
||||
EVP_KDF_CTX_free(kctx);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int setup_tests(void)
|
||||
{
|
||||
#if !defined(OPENSSL_NO_CMAC) && !defined(OPENSSL_NO_CAMELLIA)
|
||||
ADD_TEST(test_kdf_kbkdf_6803_128);
|
||||
ADD_TEST(test_kdf_kbkdf_6803_256);
|
||||
#endif
|
||||
ADD_TEST(test_kdf_kbkdf_8009_prf1);
|
||||
ADD_TEST(test_kdf_kbkdf_8009_prf2);
|
||||
ADD_TEST(test_kdf_get_kdf);
|
||||
@@ -753,5 +794,6 @@ int setup_tests(void)
|
||||
#ifndef OPENSSL_NO_CMS
|
||||
ADD_TEST(test_kdf_x942_asn1);
|
||||
#endif
|
||||
ADD_TEST(test_kdf_krb5kdf);
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user