【问题标题】:Certificate for securing webscocket connection用于保护 websocket 连接的证书
【发布时间】:2016-06-08 08:19:34
【问题描述】:

我开发了一个 Java 应用程序,它使用签名板来捕获生物特征签名。 Pad 已插入客户端计算机,因此我需要在每台本地计算机上运行 java 控制器。为此,我们运行一个包含 Jetty 服务器的 JAR。我们使用 websockets 协议从浏览器启动签名过程,并将数据发送到 Jetty 服务器。

问题:我们需要为 websocket 安全连接创建一个证书,并且该证书必须为 127.0.0.1 发出,因为 Jetty 服务器在客户端本地机器上运行。

如果我创建自签名证书,该解决方案可以正常工作,但某些浏览器(例如 Firefox)不允许自签名证书作为可信证书,我怀疑 CA 是否为 127.0.0.1 颁发证书。

那么,最好的解决方案是什么?继续使用自签名证书?有没有其他办法?

【问题讨论】:

  • 为什么是 127.0.0.1?插入计算机的外部设备(签名板)上的网络浏览器将无法使用此地址连接到客户端计算机。
  • 网络浏览器不在签名板上。浏览器通过 websocket 将数据发送到 Jetty 服务器(都在客户端计算机中),java 控制器处理 Signature Pad。 Pad 在这里并不重要,问题在于同一台机器上的浏览器和 Jetty 之间的调用。

标签: java websocket jetty ssl-certificate


【解决方案1】:

如果您在 POS 终端上具有管理员权限,如何在 HOSTS 文件中添加一行:

127.0.0.1 localhost.mycompany.com

现在您可以在服务器应用程序中为localhost.mycompany.com 使用真实证书。

(来自How can I establish a secure connection to a websocket on localhost?

【讨论】:

    猜你喜欢
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-02
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多