javascript - 在 Web 浏览器中,JavaScript 是否可以获取有关当前页面使用的 HTTPS 证书的信息?

标签 javascript browser ssl certificate ssl-certificate

是否有一种方法可以让在浏览器中运行的 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/

相关文章:

javascript - HTML DOM 和 jQuery DOM 在一行简单的代码中?

javascript - Require.js 模块路径范围问题

javascript - 在 extjs 中显示单选字段

javascript - 为什么 array.push 有时比 array[n] = value 快?

ASP.NET Core 将 http 重定向到 https,但我不想在 localhost 中执行此操作,我也使用不同的端口

c# - 使用 Azure Functions 中的 SSL3 调用外部 API

javascript - 如何循环遍历数组,每次触发数组中每一项的单击事件

css - 为什么浏览器在工作时使用不同的 css 规则并且定义几乎相同?

css - 使用 IE-CSS3 htc 调整浏览器大小时的框定位样式

c - 如何使用 API 并正确初始化 openssl?