Ошибка самозаверяющего сертификата с истекшим сроком действия в NodeJS (TLS) - PullRequest
0 голосов
/ 26 августа 2018

У меня есть самозаверяющие сертификаты для CA, сервера и клиента.

На сервере:

const options = {
  key: fs.readFileSync('./openssl/server_key.pem'),
  cert: fs.readFileSync('./openssl/server_cert.pem'),
  ca: fs.readFileSync('./openssl/ca_cert.pem'),
  requestCert: true,
  rejectUnauthorized: true,
}

const server = https.createServer(options, requestHandler)

На клиенте:

const socket = tls.connect({
    host: PROXY_HOST,
    port: PROXY_PORT,
    key: fs.readFileSync('./openssl/client_key.pem'),
    cert: fs.readFileSync('./openssl/client_cert.pem'),
    ca: fs.readFileSync('./openssl/ca_cert.pem'),
  })
socket.on('error', err => console.error(err.message));

Я создаю сертификаты, действительные в течение определенного количества дней (например,):

openssl req -new -x509 -days 10 -config ./openssl/ca.cnf -key ./dist/ca_key.pem -out ./dist/ca_cert.pem

И после истечения NodeJS отказывается работать. И проблема в том, что я не вижу никаких ошибок в консоли. NodeJS просто молча отказывается работать (обрабатывать запросы).

Как я могу отловить ошибку сертификатов срока действия? (Похоже, эта ошибка низкого уровня)

Когда я перезапускаю (клиент и сервер) NodeJS после истечения срока действия, NodeJS все равно не сообщает мне, что срок действия сертификатов истек. Как показать ошибку в этом случае?

...