node/test/parallel/test-tls-get-ca-certificate...

37 lines
1009 B
JavaScript

'use strict';
// This tests that tls.getCACertificates() returns the system
// certificates correctly when --use-system-ca is disabled.
const common = require('../common');
if (!common.hasCrypto) common.skip('missing crypto');
const tmpdir = require('../common/tmpdir');
const fs = require('fs');
const assert = require('assert');
const { spawnSyncAndExitWithoutError } = require('../common/child_process');
const fixtures = require('../common/fixtures');
const tls = require('tls');
const certs = tls.getCACertificates('system');
if (certs.length === 0) {
common.skip('No trusted system certificates installed. Skip.');
}
tmpdir.refresh();
const certsJSON = tmpdir.resolve('certs.json');
spawnSyncAndExitWithoutError(process.execPath, [
'--no-use-system-ca',
fixtures.path('tls-get-ca-certificates.js'),
], {
env: {
...process.env,
CA_TYPE: 'system',
CA_OUT: certsJSON,
}
});
const parsed = JSON.parse(fs.readFileSync(certsJSON, 'utf-8'));
assert.deepStrictEqual(parsed, certs);