我有一个新的 tomcat6.0.34 设置,正在我的 CentOS 6.3(64 位)上配置。我已经为我正在使用的证书颁发机构下载了一系列 CRL,并使用 openssl 将它们从 DER 转换为 PEM:
openssl crl -inform DER -outform PEM -in f1.der -out f1.pem_crl
openssl crl -inform DER -outform PEM -in f2.der -out f2.pem_crl
然后,我使用所有的 pem_crls 构建一个 crl 包(最终得到一个 283 MB 的 crl):
cat *.pem_crl > CRL-bundle.crl
最后,我将其移至 /etc/ssl/certs
mv CRL-bundle.crl /etc/ssl/certs
我按如下方式配置我的连接器:
<Connector port="8080" protocol="HTTP/1.1"
SSLEnabled="true"
maxHttpHeaderSize="8192"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
acceptCount="100"
disableUploadTimeout="true"
compression="on"
compressableMimeType="text/html,text/xml,text/plain,text/css,text/
javascript,application/xml,application/x-javascript,application/javascript"
connectionTimeout="20000"
secure="true"
keystorePass="mykeystorepass"
truststoreFile="/etc/ssl/certs/my.truststore"
truststorePass="mytruststorepass"
clientAuth="true"
sslProtocol="TLS"
crlFile="/etc/ssl/certs/CRL-bundle.crl"
redirectPort="8443" />
当我尝试以这种方式启动 tomcat6 时,我的 catalina.out 中只出现一个条目
Nov 20, 2012 8:58:29 AM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
如果我删除 server.xml 中的 crlFile 引用,则一切都会正常工作(当然,除了 crl 查找)。系统启动,应用程序可访问,它会提示输入证书...
如果您能想到为什么它会失败的话,我们将不胜感激。