Не удается создать хранилище ключей для Tomcat с длиной цепочки сертификатов ключей, сертификатов и сертификатов: 1

Я не могу купить свой сертификат у RapidSSL, работающего на Tomcat, но на Apache.

RapidSSL требует, чтобы вы установили 2 промежуточных файла ca.

Когда я создаю хранилище ключей из закрытого ключа, сертификата и промежуточного центра сертификации: я вижу

Entry type: PrivateKeyEntry
Certificate chain length: 1

Два промежуточных сертификата, похоже, не подобраны или что-то в этом роде.

я имею

Я могу заставить его работать на сервере Apache со следующими настройками:

SSLCertificateFile /root/ssl_certs/rapidssl.crt
SSLCertificateKeyFile /root/ssl_certs/privatekey.key
SSLCACertificateFile /root/ssl_certs/intermediate.crt

Я слышал о том, что называется корневым сертификатом, и я не знаю, что это такое. Это то, что мне нужно?

Я слышал, что Tomcat должен использовать PKCS12, поэтому я попытался создать файл pkcs12:

openssl pkcs12 -export -in rapidssl.crt -inkey privatekey.key -out mycert.p12 -name tomcat -CAfile intermediate.crt -caname root -chain

Но я получаю ошибку

Error unable to get local issuer certificate getting chain.

Промежуточный.crt имеет первичный и вторичный CA:s в нем.

2 ответа

Решение

Попробуйте использовать Portecle для импорта всех ваших вещей. Я не использовал это сам, но полный беспорядок, который является Java Keystores, очевидно, намного более управляем, если вы используете инструмент как Portecle.

Если вы хотите повысить производительность Tomcat и не хотите объединять свои ключи, сертификаты и т. Д. В один двоичный шар, рассмотрите возможность использования разъема Tomcat APR. Вы можете использовать те же файлы сертификатов и ключей, которые вы уже используете в Apache httpd, и вы получите лучшую производительность шифрования.

Что такое корневой сертификат? Это главный сертификат в цепочке сертификатов, обычно выдаваемый центром сертификации. Он используется для подписи других сертификатов, которые подписывают другие сертификаты, пока не будет использован для подписи вашего сертификата. Программное обеспечение, использующее ваш сертификат, должно доверять корневому сертификату. Это делается либо путем доверия к центру сертификации операционной системой (или java), либо путем доверия определенному программному обеспечению (например, apache или локальному хранилищу ключей).

Другие вопросы по тегам