Импорт пробных сертификатов Thawte в хранилище ключей 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 называет второй сертификат "корнем CA теста Thawte" сертификат.)
когда я пытаюсь импортировать либо из них это не удается:
$ 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
опция для любой из этих команд ничего не меняет.
есть идеи, что я делаю неправильно здесь?
3 ответов
я, наконец, понял, что здесь происходило. Оказывается, ответы, которые я получил от Thawte, отформатированы как PKCS#7, тогда как keytool
ожидает сертификат в формате X. 509.
openssl
может использоваться для преобразования сертификатов из одного формата в другой:
$ openssl pkcs7 -in thawtetest.crt -print_certs |
openssl x509 > thawtetest.x509
теперь вы можете импортировать thawtetest.x509
С keytool, и tomcat.crt
прямо за ним.
вы должны иметь возможность импортировать цепи PKCS#7 с помощью keytool, если вы используете более позднюю версию. Экспорт сертификатов в отдельные файлы также будет работать, но если вы используете последнюю версию keytool, не должно быть никаких проблем с импортом самого файла PKCS#7.
столкнувшись с той же проблемой, которую я нашел этот пост что помогло мне. Я поместил полученные пробные сертификаты в один файл и использовал keytool для импорта making конечно, псевдоним (keytool-псевдоним param), который я использовал, был другим (т. е. не тот же псевдоним, который я использовал при создании сертификатов для запроса). Это странное сообщение об ошибке, учитывая, что ему просто не нравится, что вы пытаетесь импортировать в тот же псевдоним.