}
if (t->skip)
return 1;
- if (strcmp(keyword, "Result") == 0) {
- if (t->expected_err) {
+ if (strcmp(keyword, "Title") == 0) {
+ TEST_info("Starting %s tests", value);
+ set_test_title(value);
+ } else if (strcmp(keyword, "Result") == 0) {
+ if (t->expected_err != NULL) {
TEST_info("Line %d: multiple result lines", t->line);
return 0;
}
# -K 000102030405060708090A0B0C0D0E0F1011121314151617 -iv 0001020304050607 |
# xxd -ps -u
+Title = DES EDE3 CFB1
Cipher = DES-EDE3-CFB1
Key = 000102030405060708090A0B0C0D0E0F1011121314151617
IV = 0001020304050607
Plaintext = "Hello World"
Ciphertext = 3CF55D656E9C0664513358
-# AES 128 ECB tests (from FIPS-197 test vectors, encrypt)
-
+Title = AES (from FIPS-197 test vectors)
Cipher = AES-128-ECB
Key = 000102030405060708090A0B0C0D0E0F
Operation = ENCRYPT
# For all ECB encrypts and decrypts, the transformed sequence is
# AES-bits-ECB:key::plaintext:ciphertext:encdec
# ECB-AES128.Encrypt and ECB-AES128.Decrypt
+Title = AES tests from NIST document SP800-38A
Cipher = AES-128-ECB
Key = 2B7E151628AED2A6ABF7158809CF4F3C
Plaintext = 6BC1BEE22E409F96E93D7E117393172A
# Which is currently unsupported by OpenSSL. They were generated using the
# reference implementation. RFC7693 also mentions the 616263 / "abc" values.
+Title = BLAKE2s256 Tests
Digest = BLAKE2s256
Input =
Output = 69217a3079908094e11121d042354a7c1f55b6482ca1a51e1b250dfd1ed0eef9
# and continue until a blank line. Lines starting with a pound sign,
# like this prolog, are ignored.
-# Base64 tests
-
+Title = Base64 tests
Encoding = canonical
Input = ""
Output = ""
# and continue until a blank line. Lines starting with a pound sign,
# like this prolog, are ignored.
-# TLS1 PRF tests, from NIST test vectors
-
+Title = TLS1 PRF tests, from NIST test vectors
KDF=TLS1-PRF
Ctrl.md = md:MD5-SHA1
Ctrl.Secret = hexsecret:bded7fa5c1699c010be23dd06ada3a48349f21e5f86263d512c0c5cc379f0e780ec55d9844b2f1db02a96453513568d0
# SIPHASH tests - default values: 2,4 rounds, 16-byte mac
# There are no official test vectors, they are simple vectors 1, 2, 3, etc
+Title = SIPHASH tests
MAC = SipHash
Key = 000102030405060708090A0B0C0D0E0F
Input =
# and continue until a blank line. Lines starting with a pound sign,
# like this prolog, are ignored.
-# scrypt tests from draft-josefsson-scrypt-kdf-03
+Title = scrypt tests from draft-josefsson-scrypt-kdf-03
PBE = scrypt
Password = ""
Salt = ""
#maxmem = 10000000000
Result = SCRYPT_ERROR
-# PKCS#12 tests
-
+Title = PKCS#12 tests
PBE = pkcs12
id = 1
iter = 1
Salt = 263216FCC2FAB31C
Key = 5EC4C7A80DF652294C3925B6489A7AB857C83476
-# PBKDF2 tests
+Title = PBKDF2 tests
PBE = pbkdf2
Password = "password"
Salt = "salt"
MD = sha512
Key = 9d9e9c4cd21fe4be24d5b8244c759665
-# PBKDF2 tests for empty and NULL inputs
+Title = PBKDF2 tests for empty and NULL inputs
PBE = pbkdf2
Password = ""
Salt = "salt"
PrivPubKeyPair = DSA-1024:DSA-1024-PUBLIC
-# RSA tests
-
+Title = RSA tests
Sign = RSA-2048
Ctrl = digest:SHA1
Input = "0123456789ABCDEF1234"
Function = EVP_PKEY_derive_init
Reason = operation not supported for this keytype
-# Invalid ctrl
+Title = Invalid ctrl
Sign = RSA-2048
Ctrl = rsa_mgf1_md:sha1
Result = PKEY_CTRL_INVALID
Function = pkey_rsa_ctrl
Reason = invalid mgf1 md
-# EC tests
-
+Title = EC tests
Verify = P-256
Ctrl = digest:SHA1
Input = "0123456789ABCDEF1234"
ERR_print_errors_cb(openssl_error_cb, NULL);
}
-static const char *test_title = NULL;
+static char *test_title = NULL;
void set_test_title(const char *title)
{
- test_title = title;
+ free(test_title);
+ test_title = title == NULL ? NULL : strdup(title);
}
int run_tests(const char *test_prog_name)