Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/grails/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring启动-从HTTP请求读取x509客户端证书_Java_Spring_Certificate_X509 - Fatal编程技术网

Java Spring启动-从HTTP请求读取x509客户端证书

Java Spring启动-从HTTP请求读取x509客户端证书,java,spring,certificate,x509,Java,Spring,Certificate,X509,如何从客户端接收x509证书?我正在使用Java的Spring引导框架和嵌入式tomcat。对于protyping,我使用Java SE配置了它: HttpsExchange HttpsExchange=(HttpsExchange)httpReq name=httpsExchange.getSSLSession().getPeerPrincipal().getName() 一个用户给了我一个在这里做这件事的参考(下面) 但是我没办法拿到证书!可能是因为我正在使用tomcat,它正在处理所有SS

如何从客户端接收x509证书?我正在使用Java的Spring引导框架和嵌入式tomcat。对于protyping,我使用Java SE配置了它:

HttpsExchange HttpsExchange=(HttpsExchange)httpReq

name=httpsExchange.getSSLSession().getPeerPrincipal().getName()

一个用户给了我一个在这里做这件事的参考(下面)


但是我没办法拿到证书!可能是因为我正在使用tomcat,它正在处理所有SSL连接。所以没有任何证书收到我的申请。我要做什么才能拿到客户证书?客户端证书用于获取https连接。我需要证书主题的一些信息。谢谢。

您必须从
HttpServletRequest
获取它

您可以检查此问题的答案::

不,你不能那样做。您需要从HttpServletRequest获取它:

X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");
这是我想告诉你的帖子,是甘道夫写的


这是原版

谢谢您的评论!排除故障后,我得到了它!这是从HttpServletRequest获取客户端证书的线路。
X509Certificate[] certs = (X509Certificate[])HttpServletRequest.getAttribute("javax.servlet.request.X509Certificate");