1'use strict'; 2 3const common = require('../../common'); 4const providers = require('./providers.cjs'); 5const assert = require('node:assert'); 6const { fork } = require('node:child_process'); 7const { getFips } = require('node:crypto'); 8 9const option = '--openssl-legacy-provider'; 10const execArgv = process.execArgv; 11if (!execArgv.includes(option)) { 12 const cp = fork(__filename, { execArgv: [ option ] }); 13 cp.on('exit', common.mustCall((code, signal) => { 14 assert.strictEqual(code, 0); 15 assert.strictEqual(signal, null); 16 })); 17 return; 18} 19 20// Enabling FIPS will make all legacy provider algorithms unavailable. 21if (getFips()) { 22 common.skip('this test cannot be run in FIPS mode'); 23} 24providers.testProviderPresent('legacy'); 25