检测不安全的ssl连接

时间:2019-02-05 09:33:47

标签: javascript ssl ssl-certificate self-signed

我们正在运行一个使用自签名ssl证书的Intranet应用程序。

客户确实信任我们的CA。

我们使用这种方式已经有好几年了。

在某些PC上,我们的CA未导入,并且用户每天确实会从浏览器收到警告。

不幸的是,用户没有告诉我们,他们只是一遍又一遍地说“接受证书”。

有没有办法检测页面的信任?

我们正在运行Web应用程序,如果浏览器确实接受证书,我们希望获得说明。然后,我们可以与PC管理员联系,并向他发送提示,表明PC还不信任我们的CA。

也许可以通过这种方式检测JavaScript?

这很好: ssl-ok

如果它看起来像这样,我们想得到一个注释: ssl-no-ok

更新我不对客户端PC负责。我无权访问它们来安装或管理证书。

2 个答案:

答案 0 :(得分:5)

这是可能的,但是browser support目前还不是很高。 如果您不支持仅支持基于铬的浏览器和Firefox(它们构成了大多数用户代理),则可以使用

window.isSecureContext

进行查找,以了解浏览器是否信任您的证书。 因此,为了在每次有人不信任您的证书时进行记录,您可以执行以下操作:

if (!window.isSecureContext){
    //do ajax call
}

答案 1 :(得分:0)

该信息未通过Javascript(参考Is there a way to get SSL certificate details using JavaScript?)公开。

根据情况,您可以:

1)使用组策略将CA部署到所有PC的
2)使用其他管理软件来部署CA
3)使用实际的可信证书颁发机构(通过购买证书或使用“加密”)

这不是一个详尽的列表,因此,如果您有关于您的环境的更多信息,我可以给出其他选择。