使用JavaScript / OpenSSL提取SSL证书的详细信息

时间:2011-11-05 23:47:17

标签: javascript ssl firefox-addon openssl

我正在构建一个Firefox附加组件,需要提取收到的SSL证书的详细信息,例如CA的名称,CA的国家/地区(证书颁发机构)。我想知道是否可以使用JavaScript提取上述细节,或者我是否需要使用OpenSSL从而将它们链接起来?

有没有更好的解决方案?

1 个答案:

答案 0 :(得分:1)

Firefox中的“页面信息”对话框已显示证书信息,因此最好查看how it is implemented。总结一下:

代码示例:

var status = gBrowser.securityUI
                     .QueryInterface(Components.interfaces.nsISSLStatusProvider)
                     .SSLStatus;
if (status && !status.isUntrusted)
{
  // This shows: OU=Equifax Secure Certificate Authority,O=Equifax,C=US
  alert(status.serverCert.issuerName);

  // This shows: Equifax Secure Certificate Authority
  alert(status.serverCert.issuerOrganizationUnit);
}

请注意,界面不提供提取发布者国家/地区的方法,您必须自己解析status.serverCert.issuerName值。此外,您只能通过这种方式获得有关直接发行者的信息,而不是根CA.要访问根CA,您应该使用status.serverCert.issuer属性并向上走。