summaryrefslogtreecommitdiff
path: root/test/parallel/test-crypto-fips.js
diff options
context:
space:
mode:
authorSam Roberts <vieuxtech@gmail.com>2017-01-25 14:13:34 -0800
committerSam Roberts <vieuxtech@gmail.com>2017-02-09 12:26:39 -0800
commit59afa275adc8c91d564bdde92390dd9341c919c8 (patch)
tree293a1eee4be93ea7080caba21f773ce9d6f4c8af /test/parallel/test-crypto-fips.js
parent901e926d43a875af0bf2164c62770f7a835edf19 (diff)
downloadandroid-node-v8-59afa275adc8c91d564bdde92390dd9341c919c8.tar.gz
android-node-v8-59afa275adc8c91d564bdde92390dd9341c919c8.tar.bz2
android-node-v8-59afa275adc8c91d564bdde92390dd9341c919c8.zip
crypto: support OPENSSL_CONF again
A side-effect of https://github.com/nodejs/node-private/pull/82 was to remove support for OPENSSL_CONF, as well as removing the default read of a configuration file on startup. Partly revert this, allowing OPENSSL_CONF to be used to specify a configuration file to read on startup, but do not read a file by default. If the --openssl-config command line option is provided, its value is used, not the OPENSSL_CONF environment variable. Fix: https://github.com/nodejs/node/issues/10938 PR-URL: https://github.com/nodejs/node/pull/11006 Reviewed-By: Michael Dawson <michael_dawson@ca.ibm.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'test/parallel/test-crypto-fips.js')
-rw-r--r--test/parallel/test-crypto-fips.js25
1 files changed, 22 insertions, 3 deletions
diff --git a/test/parallel/test-crypto-fips.js b/test/parallel/test-crypto-fips.js
index 6fd3352740..ae51074194 100644
--- a/test/parallel/test-crypto-fips.js
+++ b/test/parallel/test-crypto-fips.js
@@ -37,8 +37,9 @@ function testHelper(stream, args, expectedOutput, cmd, env) {
env: env
});
- console.error('Spawned child [pid:' + child.pid + '] with cmd ' +
- cmd + ' and args \'' + args + '\'');
+ console.error('Spawned child [pid:' + child.pid + '] with cmd \'' +
+ cmd + '\' expect %j with args \'' + args + '\'' +
+ ' OPENSSL_CONF=%j', expectedOutput, env.OPENSSL_CONF);
function childOk(child) {
console.error('Child #' + ++num_children_ok +
@@ -92,10 +93,26 @@ testHelper(
compiledWithFips() ? FIPS_ENABLED : FIPS_DISABLED,
'require("crypto").fips',
process.env);
-// OPENSSL_CONF should _not_ be able to turn on FIPS mode
+
+// OPENSSL_CONF should be able to turn on FIPS mode
testHelper(
'stdout',
[],
+ compiledWithFips() ? FIPS_ENABLED : FIPS_DISABLED,
+ 'require("crypto").fips',
+ addToEnv('OPENSSL_CONF', CNF_FIPS_ON));
+
+// --openssl-config option should override OPENSSL_CONF
+testHelper(
+ 'stdout',
+ [`--openssl-config=${CNF_FIPS_ON}`],
+ compiledWithFips() ? FIPS_ENABLED : FIPS_DISABLED,
+ 'require("crypto").fips',
+ addToEnv('OPENSSL_CONF', CNF_FIPS_OFF));
+
+testHelper(
+ 'stdout',
+ [`--openssl-config=${CNF_FIPS_OFF}`],
FIPS_DISABLED,
'require("crypto").fips',
addToEnv('OPENSSL_CONF', CNF_FIPS_ON));
@@ -107,6 +124,7 @@ testHelper(
compiledWithFips() ? FIPS_ENABLED : OPTION_ERROR_STRING,
'require("crypto").fips',
process.env);
+
// OPENSSL_CONF should _not_ make a difference to --enable-fips
testHelper(
compiledWithFips() ? 'stdout' : 'stderr',
@@ -122,6 +140,7 @@ testHelper(
compiledWithFips() ? FIPS_ENABLED : OPTION_ERROR_STRING,
'require("crypto").fips',
process.env);
+
// Using OPENSSL_CONF should not make a difference to --force-fips
testHelper(
compiledWithFips() ? 'stdout' : 'stderr',