mirror of
https://github.com/nodejs/node.git
synced 2026-10-28 10:15:07 +08:00
Delete test-crypto-ecb.js, which can no longer run anywhere: Blowfish is available only from OpenSSL's legacy provider and is absent from BoringSSL. The addon and cctest version guards become OPENSSL_IS_BORINGSSL checks. Remove legacy digest-alias coverage and unreachable OpenSSL 1.x branches. JavaScript test and benchmark gates, skip reasons, and TLS error expectations that distinguished OpenSSL 1.x from provider-backed OpenSSL now distinguish BoringSSL, including PKCS12 parsing, named DH groups, private-key serialization, RSA-PSS parameters, consolidated provider caches, FIPS availability, and empty KMAC output. Keep the CCM alternate finalization error only for BoringSSL. Provider-only test skips use version-neutral terminology or state the actual minimum OpenSSL version. Signed-off-by: Filip Skokan <panva.ip@gmail.com> Assisted-by: Codex PR-URL: https://github.com/nodejs/node/pull/64777 Fixes: https://github.com/nodejs/node/issues/56733 Refs: https://github.com/nodejs/node/pull/64211 Refs: https://github.com/nodejs/node/pull/63966 Refs: https://github.com/nodejs/node/pull/53329 Refs: https://github.com/nodejs/node/pull/48950 Refs: https://github.com/nodejs/node/issues/45465 Refs: https://github.com/nodejs/node/issues/42827 Refs: https://github.com/nodejs/node/issues/47076 Refs: https://github.com/nodejs/node/pull/62862 Refs: https://github.com/nodejs/node/pull/38512 Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Richard Lau <richard.lau@ibm.com> Reviewed-By: Gürgün Dayıoğlu <hey@gurgun.day>
56 lines
1.5 KiB
JavaScript
56 lines
1.5 KiB
JavaScript
'use strict';
|
||
const common = require('../common');
|
||
const fixtures = require('../common/fixtures');
|
||
|
||
// This test starts an https server and tries
|
||
// to connect to it using a self-signed certificate.
|
||
// This certificate´s keyUsage does not include the keyCertSign
|
||
// bit, which used to crash node. The test ensures node
|
||
// will not crash. Key and certificate are from #37889.
|
||
// Note: This test assumes that the connection will succeed.
|
||
|
||
if (!common.hasCrypto)
|
||
common.skip('missing crypto');
|
||
|
||
const { isBoringSSL } = require('../common/crypto');
|
||
if (isBoringSSL)
|
||
common.skip('not supported by BoringSSL');
|
||
|
||
const https = require('https');
|
||
const path = require('path');
|
||
|
||
const key =
|
||
fixtures.readKey(path.join('selfsigned-no-keycertsign', 'key.pem'));
|
||
|
||
const cert =
|
||
fixtures.readKey(path.join('selfsigned-no-keycertsign', 'cert.pem'));
|
||
|
||
const serverOptions = {
|
||
key: key,
|
||
cert: cert
|
||
};
|
||
|
||
// Start the server
|
||
const httpsServer = https.createServer(serverOptions, (req, res) => {
|
||
res.writeHead(200);
|
||
res.end('hello world\n');
|
||
});
|
||
httpsServer.listen(0);
|
||
|
||
httpsServer.on('listening', common.mustCall(() => {
|
||
// Once the server started listening, built the client config
|
||
// with the server´s used port
|
||
const clientOptions = {
|
||
hostname: '127.0.0.1',
|
||
port: httpsServer.address().port,
|
||
ca: cert
|
||
};
|
||
// Try to connect
|
||
const req = https.request(clientOptions, common.mustCall((res) => {
|
||
httpsServer.close();
|
||
}));
|
||
|
||
req.on('error', common.mustNotCall());
|
||
req.end();
|
||
}));
|