Клиентский сетевой сокет отключился до того, как было установлено безопасное соединение TLS, при создании безопасного соединения через веб-сокет - PullRequest
0 голосов
/ 13 марта 2019

Я пытаюсь создать безопасный клиент и сервер 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? Или какая-то ошибка сертификата?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...