【发布时间】:2020-11-19 11:48:27
【问题描述】:
我们的项目中有客户的证书认证
但是,出于某种原因,在 100 次 Tomcat 发布后似乎没有任何效果
当我们通过nginx 代理到应用程序时,我们得到400 HTTP 响应或证书头为空(如果我们设置rejectIllegalHeader="false")
示例(标头的值),名称 - ssl_client_cert:
"-----BEGIN CERTIFICATE-----\x0A\x09MIIFXDCCA0SgAwIBAgIBBDANBgkqhkiG9w0BAQsFADBHMQ...
\x0A\x09-----END CERTIFICATE-----"
或ssl_client_raw_cert
"-----BEGIN CERTIFICATE-----\x0AMIIFXDCCA0SgAwIBAgIBBDANBgkqhkiG9w0BAQsFADBHMQsw ...
y2EmDsw=\x0A-----END CERTIFICATE-----\x0A"
我猜这是要责备的承诺
在第 100 个版本之前一切正常
为了绕过我们使用ssl_client_escaped_cert。
"-----BEGIN%20CERTIFICATE-----%0AMIIFXDCCA0SgAwIBAgIBBDANBgkqhkiG9 ...
qgt0Tzy2EmDsw%3D%0A-----END%20CERTIFICATE-----%0A"
现在我们必须在 Java 代码中手动取消转义
String certificateInfo = URLDecoder.decode(request.getHeader(headerName), "UTF-8");
有没有办法让 Tomcat 在第 100 版及更高版本中接受非转义证书?
【问题讨论】:
标签: java tomcat http-headers x509certificate