Вы можете сгенерировать самозаверяющий сертификат с помощью:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
Он создаст key.pem
и cert.pem
файлы в текущем каталоге, затем вы можете запустить сервер с:
const tls = require('tls');
const fs = require('fs');
const options = {
key: fs.readFileSync('key.pem'),
cert: fs.readFileSync('cert.pem')
};
const server = tls.createServer(options, (socket) => {
console.log('server connected',
socket.authorized ? 'authorized' : 'unauthorized', socket.getProtocol());
socket.write('welcome!\n');
socket.setEncoding('utf8');
socket.pipe(socket);
});
server.listen(8000, () => {
console.log('server bound');
});
и подключитесь к нему, используя openssl s_client
:
openssl s_client -connect 127.0.0.1:8000
Тестирование на узле v8.11.3 выдаст:
server bound
server connected unauthorized TLSv1.2
ref: