Ошибка SSL TOMCAT: имя псевдонима не идентифицирует ключевую запись - PullRequest
26 голосов
/ 10 января 2012

Я пытаюсь настроить Tomcat 6, используя SSL с сертификатом, предоставленным нам (кем-то).Мой опыт работы с SSL длится всего несколько дней, но мне все равно нужно настроить чертову штуку.

Мне предоставили сертификат (загруженный из IE) в формате DER.

Далее я создал хранилище ключей:

keytool -import -alias btIEgen -file MyCompany.der -keystore b2b.keystore

Скажем, я использовал «пароль» для пароля

Я настроил это в файле Tomcat server.xml в разделе SSL:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="150" scheme="https" secure="true"
    keystoreFile="webapps/b2b.keystore" keystorePass="password" keyAlias="btIEgen" 
    clientAuth="false" sslProtocol="TLS" />

При запуске Tomcat я получаю чертову ошибку.

Затем я создал список ключей в b2b.keystore и заметил, что псевдоним указан в нижнем регистре, поэтому после обновления server.xmlи перезапуск, я все еще получаю ту же ошибку, но для псевдонима в нижнем регистре.

Тогда я подумал, что, возможно, мне нужен корневой CA.Поэтому я воссоздал b2b.keystore следующим образом:

keytool -import -alias root -file myCA.cer -keystore b2b.keystore

Затем я повторно выполнил свою команду keytool для MyCompany.der

Но я все еще получаю ту же ошибку, что псевдоним неопределить ключевую запись.

Мне интересно, если я делаю фундаментальную ошибку при настройке tomcat, или эта штука работает, и я просто делаю глупую неосторожную ошибку?

Любое руководствобудет принята с благодарностью.

1 Ответ

34 голосов
/ 10 января 2012

Tomcat нужен сертификат и его закрытый ключ.Сертификат является общедоступной информацией, которую может видеть любой ваш пользователь, но закрытый ключ должен быть только вашим: это то, что мешает другим запускать веб-сайт с вашим сертификатом.Импортируя MyCompany.der, вы импортируете только сертификат.

Сначала вам нужно будет найти свой закрытый ключ.(Обычно даже тот, кто выдал вам сертификат, не должен знать его закрытый ключ.)

Возможно, закрытый ключ был сгенерирован в вашем браузере во время процесса применения сертификата.Попытайтесь выяснить, можете ли вы экспортировать в формате .p12 / .pfx (PKCS # 12): это также должно включать закрытый ключ, если он там есть.Если это так, вы сможете использовать полученный файл в качестве хранилища ключей напрямую, используя тип хранилища PKCS12: keystoreFile="store.pfx" keystorePass="password" keystoreType="PKCS12" (вам, вероятно, не понадобится псевдоним ключа, поскольку будет только одна запись ключа).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...