0
現在、SSL経由でWebSocketと通信するNSアプリケーションを作成しています。ここにサーバーコード(server.js)があります。NativeScriptアプリケーションからSSL経由でWebSocketと通信する方法はありますか?
var fs = require('fs');
var cfg = {
port: 8082,
ssl_key: fs.readFileSync('keys/server.key'),
ssl_cert: fs.readFileSync('keys/server.crt'),
ca: fs.readFileSync('keys/ca.crt')
};
var httpServ = require('https');
var WebSocketServer = require('ws').Server;
var app = null;
// dummy request processing
var processRequest = function(req, res) {
res.writeHead(200);
res.end("All glory to WebSockets!\n");
};
app = httpServ.createServer({
// providing server with SSL key/cert
key: cfg.ssl_key,
cert: cfg.ssl_cert,
ca: cfg.ssl.ca,
passphrase: '1234',
requestCert: true,
rejectUnauthorized: false,
}, processRequest).listen(cfg.port);
var wss = new WebSocketServer({ server: app });
wss.on('connection', function(ws) {
console.log("Connected!");
ws.on('message', function(message) {
console.log('received: %s', message);
});
ws.send('something');
});
サーバーは問題なく正常に動作しています。以下は、クライアントコード(wsclient.js)は次のとおりです。
const WebSocket = require('ws');
const ws = new WebSocket('wss://localhost:8082');
ws.on('open', function open() {
ws.send("dummy");
ws.on('error', function(evt) {
console.log("The socket had an error", evt.error);
});
});
私はnode wsclient.js
を入力してクライアントを実行したとき、それは次のエラーをスロー:
Error: unable to verify the first certificate
もちろん、エラーがないことによって引き起こされました要求に証明書情報を提供する。しかし、私はクライアントコードでこれをどうやって行うのか分かりません。任意の手がかりや提案に感謝します。