#include <nettle/ecc.h>
#include <nettle/ecdsa.h>
#include <nettle/ecc-curve.h>
+#include <fips.h>
#define TOMPZ(x) (*((mpz_t*)(x)))
static void rnd_func(void *_ctx, unsigned length, uint8_t * data)
{
- if (_gnutls_rnd(GNUTLS_RND_RANDOM, data, length) < 0)
+ if (_gnutls_rnd(GNUTLS_RND_RANDOM, data, length) < 0) {
+#ifdef ENABLE_FIPS140
+ _gnutls_switch_fips_state(FIPS_STATE_ERROR);
+#else
abort();
+#endif
+ }
}
static void
ret = 0;
cleanup:
-
mpz_clear(p);
+
+ FAIL_IF_FIPS_ERROR;
return ret;
}
if (ret < 0)
gnutls_free(plaintext->data);
+ FAIL_IF_FIPS_ERROR;
return ret;
}
cleanup:
+ FAIL_IF_FIPS_ERROR;
return ret;
}
return GNUTLS_E_INVALID_REQUEST;
}
+ FAIL_IF_FIPS_ERROR;
return 0;
fail:
}
params->params_nr = 0;
+ FAIL_IF_FIPS_ERROR;
return ret;
}
return GNUTLS_E_INVALID_REQUEST;
}
+ FAIL_IF_FIPS_ERROR;
return 0;
fail:
}
params->params_nr = 0;
+ FAIL_IF_FIPS_ERROR;
return ret;
}