Назад | Перейти на главную страницу

Разрешение ключа сертификата SSL - Tomcat APR

У меня есть SSL-сертификат от GoDaddy, который я хотел бы использовать с моей установкой Tomcat. В настоящее время он без проблем используется HTTP-сервером Apache.

Закрытый ключ хранится в / etc / ssl / private, и доступ ограничен. Однако HTTP-сервер Apache не имел проблем с обслуживанием правильного сертификата через 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" />

Это вызывает ошибку. Конфигурация HTTP Apache выглядит так и работает: 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 Внутри: -rw-r - r-- 1 root root 1,7K 30.04.2011 11:00 mysite.key

Теперь мой вопрос: как я могу заставить tomcat использовать тот же файл? Мое временное решение - скопировать ключевой файл в общедоступное место, но я считаю, что это опасно, верно?

Спасибо

В ssl-cert группа имеет разрешения на прохождение private, и у всех есть разрешения на чтение для самого ключа, поэтому пользователь, от имени которого работает Tomcat, скорее всего, не является членом ssl-cert группа.

Добавьте пользователя в группу, чтобы предоставить ему доступ только для чтения к сертификату:

usermod -a -G ssl-cert tomcatusername

И, хотя у вас заблокированы права доступа к каталогу, что должно касаться вас, вы можете изменить разрешения для самого сертификата, чтобы они соответствовали (некоторые службы проверяют доступность для чтения по закрытым ключам):

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