test: extend keys unit test
This commit is contained in:
parent
61773a2c07
commit
e8be384cdf
1 changed files with 36 additions and 24 deletions
|
@ -27,39 +27,51 @@
|
||||||
static
|
static
|
||||||
uint32_t write_random_key(FILE *f)
|
uint32_t write_random_key(FILE *f)
|
||||||
{
|
{
|
||||||
const char *hash_name;
|
const char *type, *prefix;
|
||||||
char key[128];
|
char key[128];
|
||||||
uint32_t id;
|
uint32_t id;
|
||||||
int i, length;
|
int i, length;
|
||||||
|
|
||||||
length = random() % sizeof (key) + 1;
|
length = random() % sizeof (key) + 1;
|
||||||
length = MAX(length, 4);
|
length = MAX(length, 4);
|
||||||
|
prefix = random() % 2 ? "HEX:" : "";
|
||||||
|
|
||||||
|
switch (random() % 8) {
|
||||||
|
#ifdef FEAT_SECHASH
|
||||||
|
case 0:
|
||||||
|
type = "SHA1";
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
type = "SHA256";
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
type = "SHA384";
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
type = "SHA512";
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_CMAC
|
||||||
|
case 4:
|
||||||
|
type = "AES128";
|
||||||
|
length = prefix[0] == '\0' ? 8 : 16;
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
type = "AES256";
|
||||||
|
length = prefix[0] == '\0' ? 16 : 32;
|
||||||
|
break;
|
||||||
|
#endif
|
||||||
|
case 6:
|
||||||
|
type = "MD5";
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
type = "";
|
||||||
|
}
|
||||||
|
|
||||||
UTI_GetRandomBytes(&id, sizeof (id));
|
UTI_GetRandomBytes(&id, sizeof (id));
|
||||||
UTI_GetRandomBytes(key, length);
|
UTI_GetRandomBytes(key, length);
|
||||||
|
|
||||||
switch (random() % 6) {
|
fprintf(f, "%u %s %s", id, type, prefix);
|
||||||
#ifdef FEAT_SECHASH
|
|
||||||
case 0:
|
|
||||||
hash_name = "SHA1";
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
hash_name = "SHA256";
|
|
||||||
break;
|
|
||||||
case 2:
|
|
||||||
hash_name = "SHA384";
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
hash_name = "SHA512";
|
|
||||||
break;
|
|
||||||
#endif
|
|
||||||
case 4:
|
|
||||||
hash_name = "MD5";
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
hash_name = "";
|
|
||||||
}
|
|
||||||
|
|
||||||
fprintf(f, "%u %s %s", id, hash_name, random() % 2 ? "HEX:" : "");
|
|
||||||
for (i = 0; i < length; i++)
|
for (i = 0; i < length; i++)
|
||||||
fprintf(f, "%02hhX", key[i]);
|
fprintf(f, "%02hhX", key[i]);
|
||||||
fprintf(f, "\n");
|
fprintf(f, "\n");
|
||||||
|
|
Loading…
Reference in a new issue