Как я могу перенести SSL из Tomcat в Apache HTTPD? - PullRequest
7 голосов
/ 16 сентября 2010

Я перенесу своего одиночного сервера Tomcat в кластер, с балансировкой нагрузки и кэшированием через Apache HTTPD (обратный прокси с mod_proxy). Можно ли конвертировать сертификат и ключи в формат apache или мне нужно переиздать все это?

1 Ответ

23 голосов
/ 17 сентября 2010

Достаточно просто извлечь сертификаты напрямую с помощью keytool, немного сложнее извлечь закрытый ключ (хотя вы могли бы написать программы для этого).Я бы предложил использовать комбинацию keytool и openssl.

Если ваше хранилище ключей имеет формат PKCS # 12 (файл .p12), пропустите этот шаг.Преобразуйте хранилище JKS в хранилище PKCS12, используя keytool (требуется версия из Java 6 +)

keytool -importkeystore -srckeystore thekeystore.jks \
                        -srcstoretype JKS \
                        -destkeystore thekeystore.p12 \
                        -deststoretype PKCS12

Затем извлеките сертификат с помощью openssl:

openssl pkcs12 -in thekeystore.p12 -clcerts -nokeys -out servercert.pem

Извлеките закрытый ключ:

umask 0077
openssl pkcs12 -in thekeystore.p12 -nocerts -nodes -out serverkey.pem
umask 0022

Обратите внимание, что поскольку при извлечении секретного ключа используется опция -nodes, файл секретного ключа не будет защищен (так как он не должен иметь пароль для использования в ApacheHttpd), поэтому убедитесь, что никто другой не может его прочитать.

Затем настройте Apache Httpd, используя SSLCertificateFile и SSLCertificateKeyFile, чтобы указать файл сертификатаи файл закрытого ключа соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...