У меня есть самозаверяющие сертификаты для 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 все равно не сообщает мне, что срок действия сертификатов истек. Как показать ошибку в этом случае?