libgcrypt/tests/fips-selftest/gcry-fips-random.c
2023-07-10 09:06:20 +02:00

27 lines
656 B
C

#include <stdio.h>
#include <gcrypt.h>
#include <stdlib.h>
#include <string.h>
static char zerobuf[64];
int main(int argc, char *argv[])
{
char rndbuf[64];
gcry_check_version("1.4.0");
gcry_control(GCRYCTL_INITIALIZATION_FINISHED, 0);
printf("FIPS_MODE: %d\n", gcry_control(GCRYCTL_FIPS_MODE_P, 0) != 0);
printf("OPERATIONAL: %d\n", gcry_control(GCRYCTL_OPERATIONAL_P, 0) != 0);
/* a little rng test to do something */
memset(rndbuf, '\0', sizeof rndbuf);
gcry_randomize (rndbuf, sizeof rndbuf, GCRY_STRONG_RANDOM);
if (memcmp(rndbuf, zerobuf, sizeof rndbuf) == 0) {
printf("BAD RANDOMIZE!\n");
return 1;
}
return 0;
}