Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

295
Vistas
Obtenga claves de sesión TLS con NodeJS

Tengo una aplicación de servidor y cliente escrita en NodeJS que se comunican entre sí a través de TLS, con certificados autofirmados. Los certificados no se validan con una CA; en cambio, el usuario tiene acceso a ambas interfaces a la vez y verificará manualmente la autenticidad del servidor y el cliente utilizando un código de verificación calculado en ambas aplicaciones utilizando la clave de escritura del servidor TLS y la clave de escritura del cliente.

¿Se almacenan estas claves incluso después de que se completa el apretón de manos? ¿Cómo puedo acceder a estas claves desde un socket TLS de NodeJS en el lado del cliente? Estoy usando la biblioteca https nativa.

Código del servidor:

 const options = { key: fs.readFileSync('./server.key'), cert: fs.readFileSync('./server.crt'), enableTrace: true, requestCert: true, rejectUnauthorized: false, }; const server = https.createServer(options, app); this.initWithServer(server); server.on('secureConnection', (soc) => { console.log(server.getTicketKeys()); });

Codigo del cliente:

 const requestOptions = { hostname: HOST, port: PORT, path: '/', method: 'GET', rejectUnauthorized: false, requestCert: true, key: fs.readFileSync('./client.key'), cert: fs.readFileSync('./client.crt'), }; requestOptions.agent = new https.Agent(requestOptions); const req = https.request(requestOptions, (res) => { res.setEncoding('utf8'); let data = ''; res.on('data', (resBody) => { data += resBody; }); res.on('end', () => { const body = JSON.parse(data); }); }); req.end(); req.on('socket', (socket) => { socket.on('secureConnect', () => { const peerCertificate = socket.getPeerCertificate(true); console.log(peerCertificate.pubkey); const localCertificate = socket.getCertificate(true); console.log(localCertificate.pubkey); console.log(socket.getSession()) }); });
about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda