aere-quantum/crypto-inventory/test/fixturi/js/tls.cjs

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 };