如何从客户端收到x509证书?我正在使用Java的Spring-Boot-Framework和嵌入式tomcat。对于原型设计,我使用Java SE配置了它:
HttpsExchange httpsExchange =(HttpsExchange)httpReq;
name = httpsExchange.getSSLSession()。getPeerPrincipal()。getName();
用户在这里给我一个参考(下面)
@RequestMapping(value = "/grab")
public void grabCert(HttpServletRequest servletRequest) {
Certificate[] certs =
(Certificate[]) servletRequest.getAttribute("javax.servlet.request.X509Certificate");
}
但我无法获得一些证书!也许是因为我正在使用tomcat,它正在处理所有SSL-Connections。所以没有证书收到我的申请。我必须做什么才能获得客户证书?客户端证书用于获取https连接。我需要证书主题的一些信息。感谢。
答案 0 :(得分:3)
你必须从HttpServletRequest
获得它。
您可以查看此问题的答案:How to get the certificate into the X509 filter (Spring Security)?:
不,你不能这样做。你需要从HttpServletRequest中获取它:
X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");
这是我试图指出的帖子,由甘道夫撰写。
这是原来的question