【问题标题】:Cordova WebSocket with client side certificates (Javascript)带有客户端证书的 Cordova WebSocket (Javascript)
【发布时间】: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


    【解决方案1】:

    我现在关闭这个问题。

    我最终发现的问题的可能解决方案是这个插件: https://github.com/flynetworks/cordova-websocket-clientcert 使用 pkcs12 存档。

    我对这个解决方案不满意,我会将客户端身份验证从 TLS 客户端证书更改为简单的 HTTP 身份验证。

    在此处查看使用 WebSockets 进行身份验证的可能性:https://www.rfc-editor.org/rfc/rfc6455#section-10.5

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-10
      • 2013-02-25
      • 2023-03-23
      • 1970-01-01
      • 2016-03-09
      • 2013-03-13
      • 2013-04-27
      相关资源
      最近更新 更多