Spring Security X.509 Preauth

时间:2013-05-09 12:54:36

标签: gwt spring-security pre-authentication

我正在使用Spring Security 2.x的Preauthentication和X.509证书。

我通过certificateText获得HttpServletRequest.getAttribute("CERTIFICATE")

有时,上述调用返回""(空)。我相信它会在HTTP会话到期时发生。

什么可以解释为什么HttpServletRequest.getAttribute("CERT")返回空?

编辑例如,在Kerberos中,票证在每个HTTP请求中都可用。证书不总是在X.509 HTTP请求中吗?

1 个答案:

答案 0 :(得分:1)

  1. 请使用以下代码访问证书: X509Certificate[] certs = (X509Certificate[]) request.getAttribute("javax.servlet.request.X509Certificate");
  2. 在成功进行客户端证书身份验证后,始终会填充证书以进行请求。
  3. 确保您的支持长证书链:

    1. 将max_packet_size属性添加到worker.properties文件中 worker.ajp13w.max_packet_size=65536

    2. 将packetSize propery添加到Tomcat配置\ conf \ server.xml中的Ajp连接器配置 <Connector port="8089" enableLookups="false" redirectPort="8443" protocol="AJP/1.3" packetSize="65536"/>

    3. Apache日志: http://httpd.apache.org/docs/2.2/logs.html#accesslog http://httpd.apache.org/docs/2.2/logs.html#errorlog http://httpd.apache.org/docs/2.2/mod/core.html#loglevel