如何在没有servlet的情况下获取RESTfulWeb服务(Java&;Jersey)中的客户端证书?
我想从客户端证书访问“subjectDN”,即从证书获取用户数据(公共名称、电子邮件等),但对身份验证部分不感兴趣 如果我想使用servlet,我知道我可以使用如下方式读取请求头中发送的证书如何在没有servlet的情况下获取RESTfulWeb服务(Java&;Jersey)中的客户端证书?,java,web-services,rest,ssl-certificate,jersey,Java,Web Services,Rest,Ssl Certificate,Jersey,我想从客户端证书访问“subjectDN”,即从证书获取用户数据(公共名称、电子邮件等),但对身份验证部分不感兴趣 如果我想使用servlet,我知道我可以使用如下方式读取请求头中发送的证书 (X509Certificate[])request.getAttribute("javax.servlet.request.X509Certificate"); 然而,在我的RESTfulWeb服务中,我不使用servlet——因此我缺少对请求头的访问。restful web服务是使用Jersey框架用
(X509Certificate[])request.getAttribute("javax.servlet.request.X509Certificate");
然而,在我的RESTfulWeb服务中,我不使用servlet——因此我缺少对请求头的访问。restful web服务是使用Jersey框架用Java编写的。我的GlassFish应用服务器已正确配置为SSL
有没有想过如何在不使用Servlet的情况下实现这一点?任何实用的替代方法?在jersey中,您可以尝试使用
@Context-HttpServletRequest
request作为资源方法的参数:
@GET
public Response getSomeView(@Context HttpServletRequest request){
[here you have access to the request object]
}
希望这有帮助……非常感谢——就这样。