gpt4 book ai didi

java - Spring Boot - 从 HTTP 请求中读取 x509 客户端证书

转载 作者:行者123 更新时间:2023-11-30 07:59:20 24 4
gpt4 key购买 nike

如何从客户端接收 x509 证书?我正在使用 Java 的 Spring-Boot-Framework 和嵌入式 tomcat。对于原型(prototype)设计,我使用 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 连接。这样就没有证书收到我的申请。我必须做什么才能获得客户证书?客户端证书用于获取 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");

这是我试图向您指出的帖子,由 Gandalf 撰写。

这是原来的 question

关于java - Spring Boot - 从 HTTP 请求中读取 x509 客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39471044/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com