Spring 启动 - 从 HTTP 请求中读取 x509 客户端证书
Spring Boot - Reading x509 client certificate from HTTP request
如何从客户端接收 x509 证书?我正在使用 Java 的 Spring-Boot-Framework 和嵌入式 tomcat。对于原型设计,我将其配置为 Java SE:
HttpsExchange httpsExchange = (HttpsExchange) httpReq;
name = httpsExchange.getSSLSession().getPeerPrincipal().getName();
一位用户在此处(下方)给了我一个参考[=13=]
@RequestMapping(value = "/grab")
public void grabCert(HttpServletRequest servletRequest) {
Certificate[] certs =
(Certificate[]) servletRequest.getAttribute("javax.servlet.request.X509Certificate");
}
但是我无法获得一些证书!可能是因为我正在使用 tomcat,并且它正在处理所有 SSL 连接。这样就没有证书收到我的申请。我必须做什么才能获得客户证书?客户端证书用于获取 https 连接。我需要证书主题的一些信息。谢谢
您必须从 HttpServletRequest
中获取它。
你可以查看这个问题的答案:How to get the certificate into the X509 filter (Spring Security)?:
No you can't get it that way. You need to grab it from the HttpServletRequest:
X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");
这是 post 我想让你看到的,作者是 Gandalf。
这是原来的 question
如何从客户端接收 x509 证书?我正在使用 Java 的 Spring-Boot-Framework 和嵌入式 tomcat。对于原型设计,我将其配置为 Java SE:
HttpsExchange httpsExchange = (HttpsExchange) httpReq;
name = httpsExchange.getSSLSession().getPeerPrincipal().getName();
一位用户在此处(下方)给了我一个参考[=13=]
@RequestMapping(value = "/grab")
public void grabCert(HttpServletRequest servletRequest) {
Certificate[] certs =
(Certificate[]) servletRequest.getAttribute("javax.servlet.request.X509Certificate");
}
但是我无法获得一些证书!可能是因为我正在使用 tomcat,并且它正在处理所有 SSL 连接。这样就没有证书收到我的申请。我必须做什么才能获得客户证书?客户端证书用于获取 https 连接。我需要证书主题的一些信息。谢谢
您必须从 HttpServletRequest
中获取它。
你可以查看这个问题的答案:How to get the certificate into the X509 filter (Spring Security)?:
No you can't get it that way. You need to grab it from the HttpServletRequest:
X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");
这是 post 我想让你看到的,作者是 Gandalf。
这是原来的 question