Импортировка Thawte Trial сертификатов в ключ Java
Вопрос
Я пытаюсь настроить сервер Tomcat с SSL. Я создал клавиатуру таким образом:
$ keytool -genkeypair -alias tomcat -keyalg RSA -keystore keys
Далее я генерирую запрос подписания сертификата:
$ keytool -certreq -keyalg RSA -alias tomcat -keystore keys -file tomcat.csr
Тогда я копирую - вставьте содержимое tomcat.csr
в форму на веб-сайте Thawte, просим пробный сертификат SSL. В ответ я получаю два сертификата, разграниченные с -----BEGIN ... -----END
, что я экономлю под tomcat.crt
а также thawte.crt
. Отказ (Thawte вызывает второй сертификат «Thawte Test CA Root» сертификат).
Когда я пытаюсь импортировать ни один из них, не удается:
$ keytool -importcert -alias tomcat -file tomcat.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Failed to establish chain from reply
$ keytool -importcert -alias thawte -file thawtetest.crt -keystore keys
Enter keystore password:
keytool error: java.lang.Exception: Input not an X.509 certificate
Добавление -trustcacerts
Вариант для любой из этих команд либо ничего не меняет.
Любая идея, что я здесь делаю не так?
Решение
Я наконец понял, что происходит сюда. Оказывается, ответы, которые я получил от Thawte, отформатирован как PKCS # 7, тогда как keytool
ожидает сертификата в формате X.509.
openssl
Может использоваться для преобразования сертификатов из одного формата на другое:
$ openssl pkcs7 -in thawtetest.crt -print_certs |
openssl x509 > thawtetest.x509
Теперь вы можете импортировать thawtetest.x509
с нажимным файлом и tomcat.crt
прямо за этим.
Другие советы
Вы должны иметь возможность импортировать цепи PKCS # 7, используя keytool, пока вы используете более позднюю версию. Экспорт сертификатов в отдельные файлы тоже будут работать, но если вы запускаете недавнюю версию Keytool, не должно быть проблем, импортируя сам файл PKCS # 7.
Бег в ту же неприятность, я нашел эта почта что помогло мне. Я поставил сертификаты пробных сертификатов, которые я получил в один файл и использовал keytool для импорта уверен, что псевдоним (keytool -alias parror) я использовал другого (т.е. не тот же псевдоним, который я использовал при создании сертификатов для запроса). Это странное сообщение об ошибке, приведенное ему просто не нравится, когда вы пытаетесь импортировать в тот же псевдоним.