32 lines
1.7 KiB
JavaScript
32 lines
1.7 KiB
JavaScript
// Fixtura: optiuni TLS in Node.
|
|
const tls = require('node:tls');
|
|
const https = require('https');
|
|
|
|
const server = tls.createServer({
|
|
minVersion: 'TLSv1', // EXPECT: TLSv1.0 | weak-now
|
|
ecdhCurve: 'X25519MLKEM768:X25519:prime256v1', // EXPECT: X25519MLKEM768 | quantum-safe ; X25519 | quantum-vulnerable ; ECDH-secp256r1 | quantum-vulnerable
|
|
});
|
|
|
|
const agent = new https.Agent({ minVersion: 'TLSv1.2', maxVersion: 'TLSv1.3' }); // EXPECT: TLSv1.2 | quantum-vulnerable ; TLSv1.3 | unknown
|
|
|
|
const PQ = 'X25519MLKEM768';
|
|
const GRUPURI = { hibrid: 'X25519MLKEM768' };
|
|
const a2 = tls.connect({ ecdhCurve: PQ }); // EXPECT: X25519MLKEM768 | quantum-safe
|
|
const a3 = tls.connect({ ecdhCurve: `${PQ}:X25519` }); // EXPECT: X25519MLKEM768 | quantum-safe ; X25519 | quantum-vulnerable
|
|
const a4 = tls.connect({ ecdhCurve: GRUPURI[process.env.MOD] }); // EXPECT: tls ecdhCurve | unknown
|
|
|
|
// 0.4.1 (2026-10-19, D-540): versiunea data printr-o variabila. Pana la 0.4.0 niciuna din cele patru nu dadea vreo gasire TLS.
|
|
const MIN_TLS = 'TLSv1.2';
|
|
const a5 = tls.connect({ minVersion: MIN_TLS }); // EXPECT: TLSv1.2 | quantum-vulnerable
|
|
const modSus = process.env.MOD_SUS;
|
|
const minSus = modSus === 'hybrid-only' ? 'TLSv1.3' : 'TLSv1.2';
|
|
const a6 = tls.connect({ minVersion: minSus }); // EXPECT: TLSv1.2 | quantum-vulnerable
|
|
const a7 = tls.connect({ minVersion: process.env.TLS_MIN }); // EXPECT: tls minVersion | unknown
|
|
function a8(v) { return tls.connect({ minVersion: v }); } // EXPECT: tls minVersion | unknown
|
|
|
|
let minVar = modSus === 'x' ? 'TLSv1.3' : 'TLSv1.1';
|
|
minVar = 'TLSv1.3';
|
|
const a9 = tls.connect({ minVersion: minVar }); // EXPECT: tls minVersion | unknown
|
|
|
|
module.exports = { server, agent, a2, a3, a4, a5, a6, a7, a8, a9 };
|