SSL证书密钥权限 – Tomcat APR

我有一个GoDaddy的SSL证书,我想用我的Tomcat安装。 目前它正在被Apache HTTP服务器使用,没有问题。

私钥存储在/ etc / ssl / private中,访问受到限制。 然而Apache HTTP服务器没有问题通过SSL提供正确的证书。

当我尝试将tomcat指向同一个私钥时,它无法启动安全协议,因为它无法读取私钥。 这是我的server.xml的摘录。 我正在使用APR:

<Connector SSLCertificateFile="/etc/ssl/certs/mysite.crt" SSLCertificateKeyFile="/etc/ssl/mysite.key" SSLEnabled="true" maxThreads="150" port="8443" protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLSv1" /> 

这会产生一个错误。 Apache HTTPconfiguration如下所示:SSLCertificateFile /etc/ssl/certs/mysite.crt SSLCertificateKeyFile /etc/ssl/private/mysite.key

/ etc / private目录的权限没有改变afaik:drwx – x — 2 root ssl-cert 4096 2011-05-01 11:50 private Inside:-rw -r – r– 1 root root 1,7K 2011-04-30 11:00 mysite.key

现在我的问题是:我怎样才能让tomcat使用相同的文件? 我的临时解决scheme是将密钥文件复制到公共可访问的地方,但我认为这是危险的权利?

谢谢

ssl-cert组拥有对private权限的访问权限,并且每个人都拥有密钥本身的读权限 – 因此,Tomcat运行的用户可能不是ssl-cert组的成员。

将该用户添加到该组中,为其授予对该证书的只读访问权限:

 usermod -a -G ssl-cert tomcatusername 

而且,尽pipe你已经locking了目录权限,但是你应该修改证书本身的权限以匹配(一些服务检查私钥上的世界可读):

 chown root:ssl-cert /etc/ssl/private/mysite.key chmod 640 /etc/ssl/private/mysite.key