如何在web应用中读取数字证书?(LAMP)
有没有可能用Python开发一个网页,读取浏览器中可用的数字证书?比如说使用pyOpenSSL?
我再详细解释一下:
我想开发一个网页,提示用户选择他浏览器中可用的数字证书,然后打印出里面包含的公共信息(名字、姓氏、邮箱、过期日期等等)。
我知道怎么通过命令行(openssl)或者用Python脚本(pyopenssl)从硬盘上的数字证书中提取信息,但在网页应用中怎么做呢?用户需要上传他数字证书的公钥吗?我想这可能需要用到Apache吧?
任何建议都非常感谢!谢谢。
补充:
我想了解更多关于如何在Flash中做类似的事情(如果可能的话):http://services.viafirma.com/viafirma/
1 个回答
3
浏览器本身可以访问一组特定的证书(通常是系统证书存储加上一些浏览器特有的证书存储),但它不会轻易让远程系统访问这些证书。
一种读取客户端计算机上证书的方法是创建一些辅助对象(比如ActiveX控件、Java小程序或Flash小程序),然后把它们嵌入到网页中。这样,这些辅助对象就可以尝试访问用户的证书。ActiveX控件是本地代码(适用于Windows),可以访问系统证书存储(前提是它在浏览器和客户端系统上有必要的权限设置)。而使用Java小程序或Flash小程序时,你只能访问存储在文件中的证书(即使如此,安全限制也可能会影响访问)。
如果不知道你打算如何使用这些证书,就很难进一步说明可以做些什么。