在双向SSL认证中,我们通常使用的客户端的X509证书是可以被服务器获取的。
可以在jsp页面中增加如下类似代码
<%
String certCode = null;
X509Certificate[] certChain = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
if (certChain == null) {
out.println("no javax.servlet.request.X509Certificate instance");
} else {
int len = certChain.length;
if (len > 0) {
X509Certificate cert = (X509Certificate) certChain[0];
cert.getEncoded();
certCode = new BASE64Encoder().encode(cert.getEncoded());
}
}
%>
CertCode=<%=certCode%>
看到页面上打出了这个证书的base64编码了吧:)
如果证书是用der二进制编码的话,可能会出现乱码哦~