我现在有一个需求,要实现基于数字证书的CAS单点登录认证,看了CAS X509数字证书认证,但是就是不起作用,原因是服务器端获取不到浏览器的证书信息,可能是导入证书的问题吧,request里面javax.servlet.request.X509Certificate参数信息为null
还有就是系统要实现服务器端生成证书,大家有没有数字证书认证这方面的经验,指导一下。
不知道大家用过amazon webService的帐户管理没?就是要实现和它一样的功能,输入私钥就可以自动生成数字证书,然后下载,用SOAP with WS-Security时要使用这个证书。
[b]问题补充:[/b]
这个我当然配了,现在问题不在这了,在于怎么实现服务器端生成证书。
[b]问题补充:[/b]
怎么用java生成呢?有没有具体的例子啊?还有就是SOAP with WS-Security时怎么使用呢?不好意思,对安全这快完全不懂。
[b]问题补充:[/b]
我的开发环境是java,我使用java调用openssl命令生成私钥和证书文件,都是pem格式的,但是我怎么用户java来解析文件获得私钥和公钥呢?或者是有java调用什么命令来实现也是可以的。
如果我没有记错的话,可以把pem转换成x509格式的。如果手动的话,可以直接用ie来做,如果用程序的话,也相对比较简单。程序就不给你写了,自己查一下吧。
要配置成双向SSL认证方式,服务器才能得到client的证书。
可以使用openssl生成服务器端和客户端的证书,可以参考这个http://www.ibm.com/developerworks/cn/security/se-tcssl/index.html
生成证书,可以自己写程序来生成,如果是用C语言的话,直接就用openssl的api来做吧。如果是纯java的话,也很简单。