基本上我想从SparkJava服务的请求中获取客户端证书。在服务方面,我已调用secure(String keystoreFile, String keystorePassword, String truststoreFile, String truststorePassword)
函数以确保服务器已启用SSL。在客户端,我用与服务器完全相同的KeyStorePath,KeyStorePasswd,TrustStorePath和TrustStorePasswd构建了HttpAsyncClients
。但是,SparkJava服务中没有任何功能可帮助从请求中检索客户端证书。
我尝试从SparkJava中收到的请求中获取原始HttpServletRequest
,但未找到与证书相关的任何标头:
httpService.before((request, response) -> {
HttpServletRequest rawRequest = request.raw();
Enumeration<String> headerNames = rawRequest.getHeaderNames();
/* Read the certificate information from the header 'ssl_client_cert' */
String certificateInfo = rawRequest.getHeader("ssl_client_cert");
/* However, this certificateInfo is null*/
});
我们将不胜感激任何帮助。