2017-08-09 26 views
0

下面的情况:通过HTTPS从公共领域example.com供应如何让浏览器使用用户友好的提示信任自签名证书?

  1. 网站。
  2. 网站需要通过WebSocket访问服务B.因此,websocket也需要安全,即wss://
  3. 服务B当前不安全。我试图保护它,我需要为它生成证书。
  4. 服务B只能从内部网获得。 WSS URL始于wss://192.168.x.x(通过IP连接并在NAT后面)。是的,这也意味着A只能从内联网使用,尽管通过互联网可以使用有限的功能。典型的情况是内联网使用。
  5. 连接到网站A的计算机不在Windows域中,并且当前不信任任何可由我们控制的认证中心。换句话说,我们无法创建所有这些计算机默认信任的证书。为此,我们需要与所有人都信任的大公共机构合作,但我怀疑他们会为NAT IP地址颁发证书。

问题:

既然不能创建所有计算机信任默认情况下,我也可以创建自签名证书并用它来固定的WebSocket证书。然而......我不确定会发生什么。我认为每次连接时都会提示用户,否则无论如何连接都会失败。

我可以在每台机器上手动安装证书,但需要分别访问它们,并且如果有新用户想访问该网站,我需要记住在他们的机器上也这样做。不太好。

有没有一些很好的解决方案呢?你可以做一个网站提示永久信任证书或什么的?

回答

0

大多数浏览器都具有永久信任未知证书的功能,坦率地说,我不会相信任何试图绕过这些机制的网站,即使它们是内部网站。如果在访问内部网站时出现类似情况,我会更倾向于打电话给IT支持,并询问网站是否被篡改。

我会分发有关如何添加证书的指示信息(可能注意到在其他网站上盲目地执行此操作可能会产生问题)并处理无法遵循这些指示的情况。

另一种(虽然我没有与任何个人经验)可能会从https://letsencrypt.org/其中,因为据我所知,在大多数浏览器可以接受得到一个免费的证书。

火狐:

https://support.cdn.mozilla.net/media/uploads/images/2015-10-19-09-47-54-63d2a6.png

铬:

https://www.accuweaver.com/2014/09/19/make-chrome-accept-a-self-signed-certificate-on-osx/

+0

问题是,网站本身已经运行一个可信的证书,但这个websocket将使用不受信任的证书。浏览器是否会发出任何提示?我会在接下来的几天尝试测试这个,但是我怀疑它会悄无声息地失败(好吧,对于JavaScript异常,“静静地”,但对于仍然保持沉默的用户)。 –

0

在我运行朝着同样的问题,唯一的解决办法我能想到的和我想要的是瞬间我要求用户单击带有需要接受的证书的Web服务器的按钮(它会创建一个弹出窗口)。然后他们接受证书,并让他们重新加载(或通过单击相同的按钮重新启动代码),那么它应该能够工作。但你需要一个页面上的w

相关问题