需要帮助在Tomcat 8.5上使用Shibboleth IDP3配置客户端证书检查

时间:2017-11-06 23:48:18

标签: tomcat ssl shibboleth tomcat8.5

我需要在CAC和PIV卡上使用客户端证书支持双因素身份验证。我对如何在我们的Shibboleth系统上配置证书检查有一点了解。我们的系统使用:

  • 启用了SELinux的RHEL 7
  • Apache Tomcat 8.5.16
  • Java 1.8
  • Shibboleth IDP 3.3.1
  • DoD CAC和基于联邦PIV卡的客户证书

我已按如下方式配置Tomcat server.xml:

<Connector defaultSSLHostConfigName="domain.gov" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true">
    <SSLHostConfig hostName="domain.gov" sessionTimeout="3600" protocols="+TLSv1.2+TLSv1.1" honorCipherOrder="true" truststoreFile="/app/keystores/certs.jks" truststorePassword="changeThis!" certificateVerification="optional" >
        <Certificate certificateKeyAlias="tomcat_gov" certificateKeystoreFile="/app/keystores/certs.jks" certificateKeystorePassword="changeThis!" />
    </SSLHostConfig>
    <SSLHostConfig hostName="domain.mil" sessionTimeout="3600" protocols="+TLSv1.2+TLSv1.1" honorCipherOrder="true" truststoreFile="/app/keystores/certs.jks" truststorePassword="changeThis!" certificateVerification="required" certificateRevocationList="http://ocsp.disa.mil/" >
        <Certificate certificateKeyAlias="tomcat_mil" certificateKeystoreFile="/app/keystores/certs.jks" certificateKeystorePassword="changeThis!" />
    </SSLHostConfig>
</Connector>

问题是上述配置导致使用PIV卡的用户无法登录系统。此外,文档中似乎存在一些差异,即CRL的实际名称是什么。我已经看到如果使用本地CRL文件,使用certificateRevocationList会失败,但certificateRevocationListFile会起作用。

提前致谢!

0 个答案:

没有答案