Импорт пробных сертификатов Thawte в хранилище ключей Java - PullRequest
7 голосов
/ 09 апреля 2010

Я пытаюсь настроить сервер 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 к любой из этих команд также ничего не меняет.

Есть идеи, что я здесь не так делаю?

Ответы [ 3 ]

14 голосов
/ 12 апреля 2010

Я наконец понял, что здесь происходит. Получается, что ответы, полученные от Thawte, отформатированы как PKCS # 7, тогда как keytool ожидает сертификации в формате X.509.

openssl может использоваться для преобразования сертификатов из одного формата в другой:

$ openssl pkcs7 -in thawtetest.crt -print_certs |
  openssl x509 > thawtetest.x509

Теперь вы можете импортировать thawtetest.x509 с помощью keytool, а tomcat.crt прямо за ним.

0 голосов
/ 03 октября 2010

Столкнувшись с той же проблемой, я нашел этот пост , который помог мне. Я поместил пробные сертификаты, которые я получил, в один файл и использовал keytool для импорта, убедившись, что уверен, что используемый мной ALIAS (параметр keytool -alias) отличается (то есть не тот псевдоним, который я использовал при создании сертификатов для запрос). Это странное сообщение об ошибке, потому что оно просто не любит, когда вы пытаетесь импортировать в тот же псевдоним.

0 голосов
/ 28 июня 2010

Вы должны иметь возможность импортировать цепочки PKCS # 7, используя keytool, если вы используете более свежую версию. Экспорт сертификатов в отдельные файлы также будет работать, но если вы используете последнюю версию keytool, не должно возникнуть проблем с импортом самого файла PKCS # 7.

...