【发布时间】:2018-04-14 15:24:33
【问题描述】:
我想在我的客户端和我的服务器之间创建一个安全连接 (SSL/TLS)。 只有特定的客户端被授权连接到服务器。 因此,我在服务器上创建了一个客户端证书(openssl)来提供相互授权。在服务器端,我已经使用创建的服务器证书使用 require(ws)(Node.js) 设置了我的 WebSocketServer。 在客户端,我不知道标准 WebSocket API 如何为我提供附加客户端证书的方法。 谁能告诉我如何创建一个客户端 WebSocket 将证书传递给服务器?
我正在使用 Javascript 在 Cordova 进行开发。
基本的客户端 API 似乎仅限于此: https://www.w3.org/TR/websockets/
界面:
interface WebSocket extends EventTarget {
binaryType: string;
readonly bufferedAmount: number;
readonly extensions: string;
onclose: (this: WebSocket, ev: CloseEvent) => any;
onerror: (this: WebSocket, ev: Event) => any;
onmessage: (this: WebSocket, ev: MessageEvent) => any;
onopen: (this: WebSocket, ev: Event) => any;
readonly protocol: string;
readonly readyState: number;
readonly url: string;
close(code?: number, reason?: string): void;
send(data: any): void;
readonly CLOSED: number;
readonly CLOSING: number;
readonly CONNECTING: number;
readonly OPEN: number;
addEventListener<K extends keyof WebSocketEventMap>(type: K, listener: (this: WebSocket, ev: WebSocketEventMap[K]) => any, useCapture?: boolean): void;
addEventListener(type: string, listener: EventListenerOrEventListenerObject, useCapture?: boolean): void;}
类:
declare var WebSocket: {
prototype: WebSocket;
new(url: string, protocols?: string | string[]): WebSocket;
readonly CLOSED: number;
readonly CLOSING: number;
readonly CONNECTING: number;
readonly OPEN: number;}
提前致谢。
【问题讨论】:
标签: javascript cordova ssl websocket wss