aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src/crypto.c
diff options
context:
space:
mode:
authorDoug Hogan <[email protected]>2018-12-20 02:14:19 -0800
committerDoug Hogan <[email protected]>2018-12-20 02:30:58 -0800
commit49663961687dbf3beda19d875f91730b719e9f6f (patch)
tree1cb5adc0a03bc03319ef3672394fee4549f5e192 /lib/crypto/c_src/crypto.c
parent910700572a9ad3b8bda0ea79832d338e626f6a54 (diff)
downloadotp-49663961687dbf3beda19d875f91730b719e9f6f.tar.gz
otp-49663961687dbf3beda19d875f91730b719e9f6f.tar.bz2
otp-49663961687dbf3beda19d875f91730b719e9f6f.zip
Move most FIPS functionality to a new file
Diffstat (limited to 'lib/crypto/c_src/crypto.c')
-rw-r--r--lib/crypto/c_src/crypto.c34
1 files changed, 1 insertions, 33 deletions
diff --git a/lib/crypto/c_src/crypto.c b/lib/crypto/c_src/crypto.c
index b8525ee617..25dbb74e60 100644
--- a/lib/crypto/c_src/crypto.c
+++ b/lib/crypto/c_src/crypto.c
@@ -40,6 +40,7 @@
#include "eddsa.h"
#include "engine.h"
#include "evp.h"
+#include "fips.h"
#include "hash.h"
#include "hmac.h"
#include "info.h"
@@ -57,8 +58,6 @@ static int upgrade(ErlNifEnv* env, void** priv_data, void** old_priv_data, ERL_N
static void unload(ErlNifEnv* env, void* priv_data);
/* The NIFs: */
-static ERL_NIF_TERM info_fips(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
-static ERL_NIF_TERM enable_fips_mode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
static ERL_NIF_TERM algorithms(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[]);
/* helpers */
@@ -623,34 +622,3 @@ static ERL_NIF_TERM algorithms(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv
enif_make_list_from_array(env, algo_rsa_opts, rsa_opts_cnt)
);
}
-
-static ERL_NIF_TERM info_fips(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
-{
-#ifdef FIPS_SUPPORT
- return FIPS_mode() ? atom_enabled : atom_not_enabled;
-#else
- return atom_not_supported;
-#endif
-}
-
-static ERL_NIF_TERM enable_fips_mode(ErlNifEnv* env, int argc, const ERL_NIF_TERM argv[])
-{/* (Boolean) */
- if (argv[0] == atom_true) {
-#ifdef FIPS_SUPPORT
- if (FIPS_mode_set(1)) {
- return atom_true;
- }
-#endif
- PRINTF_ERR0("CRYPTO: Could not setup FIPS mode");
- return atom_false;
- } else if (argv[0] == atom_false) {
-#ifdef FIPS_SUPPORT
- if (!FIPS_mode_set(0)) {
- return atom_false;
- }
-#endif
- return atom_true;
- } else {
- return enif_make_badarg(env);
- }
-}