检测不安全的 ssl 连接
Detect unsecure ssl-Connection
我们是 运行 一个使用自签名 ssl 证书的 Intranet 应用程序。
客户确实信任我们的CA。
我们多年来一直在使用这种方式。
在某些 PC 上,我们的 CA 未导入,用户每天都会收到来自浏览器的警告。
不幸的是,用户并没有告诉我们这些,他们只是一遍又一遍地说 "accept cert"。
有没有办法检测页面的信任度?
我们是 运行 网络应用程序,如果浏览器确实手动接受证书,我们希望收到一条通知。然后我们可以联系PC的管理员并向他发送一个PC不信任我们的CA的提示。
也许可以这样检测JavaScript?
这很好:
如果它看起来像这样,我们希望得到一条注释:
更新客户端PC我不负责。我无权访问它们来安装或管理证书。
信息未通过Javascript公开(参考Is there a way to get SSL certificate details using JavaScript?)。
根据情况,您可以:
1) 使用组策略将您的 CA 部署到所有 PC
2) 使用其他管理软件部署CA
3) 使用实际可信的证书颁发机构(通过购买证书或使用 Let's Encrypt)
这是一个非详尽的列表,所以如果您有更多关于您的环境的信息,我可以提供其他选项。
这是可能的,但是 browser support 目前不是很高。
如果你可以忍受除了基于铬的浏览器和 firefox(这些确实构成了大多数用户代理)之外的任何东西,你可以使用
window.isSecureContext
查明浏览器是否信任您的证书。
因此,为了在每次有人不信任您的证书时进行记录,您可以这样做:
if (!window.isSecureContext){
//do ajax call
}
我们是 运行 一个使用自签名 ssl 证书的 Intranet 应用程序。
客户确实信任我们的CA。
我们多年来一直在使用这种方式。
在某些 PC 上,我们的 CA 未导入,用户每天都会收到来自浏览器的警告。
不幸的是,用户并没有告诉我们这些,他们只是一遍又一遍地说 "accept cert"。
有没有办法检测页面的信任度?
我们是 运行 网络应用程序,如果浏览器确实手动接受证书,我们希望收到一条通知。然后我们可以联系PC的管理员并向他发送一个PC不信任我们的CA的提示。
也许可以这样检测JavaScript?
这很好:
如果它看起来像这样,我们希望得到一条注释:
更新客户端PC我不负责。我无权访问它们来安装或管理证书。
信息未通过Javascript公开(参考Is there a way to get SSL certificate details using JavaScript?)。
根据情况,您可以:
1) 使用组策略将您的 CA 部署到所有 PC
2) 使用其他管理软件部署CA
3) 使用实际可信的证书颁发机构(通过购买证书或使用 Let's Encrypt)
这是一个非详尽的列表,所以如果您有更多关于您的环境的信息,我可以提供其他选项。
这是可能的,但是 browser support 目前不是很高。 如果你可以忍受除了基于铬的浏览器和 firefox(这些确实构成了大多数用户代理)之外的任何东西,你可以使用
window.isSecureContext
查明浏览器是否信任您的证书。 因此,为了在每次有人不信任您的证书时进行记录,您可以这样做:
if (!window.isSecureContext){
//do ajax call
}