Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Как я могу перенести SSL с Tomcat на Apache HTTPD?

Автор вопроса: Julio FaermanОтветов: 1

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

sslapachetomcat

Ответы

Ответ 1 · рейтинг 23 · Bruno

Извлечь сертификаты напрямую с помощью 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, файл закрытого ключа не будет защищен (поскольку он не должен иметь пароля для использования Apache Httpd), поэтому убедитесь, что никто другой не сможет его прочитать. .

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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы