gpt4 book ai didi

java - 如何使用 Quarkus 以双向 SSL 从 REST 服务中的请求中检索客户端证书

转载 作者:行者123 更新时间:2023-12-01 17:44:55 24 4
gpt4 key购买 nike

关注 Quarkus Getting Started指导和enabling SSL我想做的下一步是获取客户端证书链。

我想做这样的事情:

    private X509Certificate extractCertificate(HttpServletRequest req) {
X509Certificate[] certs = (X509Certificate[])
req.getAttribute("javax.servlet.request.X509Certificate");
if (null != certs && certs.length > 0) {
return certs[0];
}
throw new RuntimeException("No X.509 client certificate found in request");
}

按照入门指南注入(inject) HttpServletRequest 并不像此 issue 中所述直接进行。

那么如何访问客户端证书链呢?

最佳答案

经过一些研究后,我最终使用类 io.vertx.core.http.HttpServerRequest 得到了以下解决方案

private X509Certificate extractCertificate(HttpServerRequest req) throws SSLPeerUnverifiedException {
X509Certificate[] certs = req.connection().peerCertificateChain();
if (null != certs && certs.length > 0) {
return certs[0];
}
throw new RuntimeException("No X.509 client certificate found in request");
}

关于java - 如何使用 Quarkus 以双向 SSL 从 REST 服务中的请求中检索客户端证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60879775/

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