是否有一种方法可以让在浏览器中运行的 JavaScript 确定正在使用哪个 CA 证书来验证浏览器当前 HTTPS 连接的远程主机,并获取该证书的属性,例如 CA 的名称?
如果没有,是否有任何其他选项可以通过编程方式获取此信息,例如服务器端的 ActiveX、Java、CGI,...?
最佳答案
您可以使用开源 Forge project去做这个。它在 JavaScript 中实现了 SSL/TLS。您可以对服务器进行 ajax 调用并使用回调来检查证书。请记住,服务器是发送 JavaScript 的服务器,因此不应使用它来确定您是否信任 JavaScript 来自的服务器。 Forge 项目确实允许跨域请求,所以如果您将其用于信任,您可以从您已经信任的服务器加载 Forge JavaScript,然后联系您还不信任的服务器。但是,除非其他服务器提供跨域策略,否则您将无法执行跨域请求。
https://github.com/digitalbazaar/forge/blob/master/README.md
自述文件中的博客链接提供了有关如何使用 Forge 及其工作原理的更多信息。
关于javascript - 在 Web 浏览器中,JavaScript 是否可以获取有关当前页面使用的 HTTPS 证书的信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19993696/