我们正在运行一个使用自签名ssl证书的Intranet应用程序。
客户确实信任我们的CA。
我们使用这种方式已经有好几年了。
在某些PC上,我们的CA未导入,并且用户每天确实会从浏览器收到警告。
不幸的是,用户没有告诉我们,他们只是一遍又一遍地说“接受证书”。
有没有办法检测页面的信任?
我们正在运行Web应用程序,如果浏览器确实接受证书,我们希望获得说明。然后,我们可以与PC管理员联系,并向他发送提示,表明PC还不信任我们的CA。
也许可以通过这种方式检测JavaScript?
更新我不对客户端PC负责。我无权访问它们来安装或管理证书。
答案 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)使用实际的可信证书颁发机构(通过购买证书或使用“加密”)
这不是一个详尽的列表,因此,如果您有关于您的环境的更多信息,我可以给出其他选择。