Ошибка при создании защищенного соединения websocket — клиентский сетевой сокет отключен до установления защищенного соединения TLS

#node.js #ssl #https #websocket

#node.js #ssl #https #websocket

Вопрос:

Я пытаюсь создать защищенный клиент и сервер websocket.

Серверный код:

 var options = { 
    key: clientKey, 
    cert: clientCert, 
    ca: caCert,
    passphrase: 'test',
    requestCert: true
}; 

var httpsServer = https.createServer(options);

var WebSocketServer = WebSocket.Server;
var wss = new WebSocketServer({
        verifyClient: (info) => {
            console.log('Request from client :'  info.req.rawHeaders);
            console.log('Request from client auth :'  info.req.client.authorized);
            success = !!info.req.client.authorized;
            return success;
        },
        server: httpsServer
});
  

Клиентский код:

 const ws = new WebSocket('wss://localhost:8989/',
          'com.hp.cdm.service.ioFilter.version.1.type.filterStream', {
            cert: fs.readFileSync(path.normalize(serverCertPath)),
            key: fs.readFileSync(path.normalize(serverKeyPath)),
            ca: fs.readFileSync(path.normalize(caCert)),
            passphrase: 'test',
            rejectUnauthorized: false,
          });
  

Когда я пытаюсь установить соединение с клиента на сервер, я получаю следующую ошибку,

 { Error: Client network socket disconnected before secure TLS connection was established
at TLSSocket.onConnectEnd (_tls_wrap.js:1086:19)
at Object.onceWrapper (events.js:273:13)
at TLSSocket.emit (events.js:187:15)
at endReadableNT (_stream_readable.js:1094:12)
at process._tickCallback (internal/process/next_tick.js:63:19)
code: 'ECONNRESET',
path: undefined,
host: 'localhost',
port: '8989',
localAddress: undefined }
  

Что я делаю ошибка? Есть несоответствие версии TLS? Или какая-то ошибка сертификата?

Комментарии:

1. Что такое soln для этого @shaik