检测不安全的ssl-Connection

问题描述 投票:6回答:2

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

客户确实信任我们的CA.

几年以来,我们一直在使用这种方式。

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

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

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

我们正在运行Web应用程序,并希望获得一个注释,如果浏览器确实手动接受该证书。然后我们可以与PC的管理员取得联系,并向他发送一条暗示PC不信任我们的CA的提示。

也许有可能以这种方式检测JavaScript?

这很好:ssl-ok

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

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

javascript ssl ssl-certificate self-signed
2个回答
5
投票

这是可能的,但browser support目前还不是很高。如果除了基于铬的浏览器和firefox(这些确实构成了大多数用户代理)之外你不能支持任何东西,你可以使用

window.isSecureContext

如果浏览器信任您的证书,请查明。因此,为了记录每次有人不信任您的证书,您可以这样做:

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

0
投票

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

根据具体情况,您可以:

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

这是一个非详尽的列表,所以如果您有关于您的环境的更多信息,我可以提供其他选项。

© www.soinside.com 2019 - 2024. All rights reserved.