SSL-сертификат на Tomcat - псевдоним не идентифицирует ключ
Интересно, может ли кто-нибудь просветить меня там, где я ввернул это!
У меня есть keytool, созданный keystore, первичный, вторичный и ssl cert от Thawte. Первоначально я создал CSR с openssl, а затем обработал процесс, преобразованный личный ключ в PKCS12 для импорта в хранилище ключей.
Я верю, что я импортировал их все в keystore ok (но, очевидно, нет!), но ошибка, которую я получаю от Tomcat, это: 'java.io.IOException Имя псевдонима не идентифицирует ключевую запись
Если я делаю keytool -list -keystore keystore.ks
, это то, что я получаю
Тип Keystore: JKS
Поставщик ключей: SUN
Ваше хранилище ключей содержит 4 записи
secondary, Jun 22, 2012, trustedCertEntry,
Certificate fingerprint (MD5): EB:A3:71:66:38:5E:3E:F4:24:64:ED:97:52:E9:9F:1B
tomcat, Jun 22, 2012, trustedCertEntry,
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0
primary, Jun 22, 2012, trustedCertEntry,
Certificate fingerprint (MD5): D6:6A:92:1C:83:BF:A2:AE:6F:99:5B:44:E7:C2:AB:2A
1, Jul 2, 2012, PrivateKeyEntry,
Certificate fingerprint (MD5): EA:D0:43:F8:7F:D5:1C:4A:BA:A7:F4:64:A9:6A:A1:B0
Я уверен, что мой Tomcat server.xml в порядке, но здесь он тоже для https-коннектора:
<Connector port="443"
protocol="org.apache.coyote.http11.Http11Protocol"
maxHttpHeaderSize="8192"
SSLEnabled="true"
maxThreads="150"
minSpareThreads="25"
maxSpareThreads="75"
enableLookups="false"
disableUploadTimeout="true"
acceptCount="100"
scheme="https"
secure="true"
clientAuth="false"
sslProtocol="TLS"
URIEncoding="UTF-8"
keystorePass="xxxxxx"
keystoreFile="/keys/keystore.ks"
keyAlias="tomcat"/>
Любые идеи? Это первый раз, когда я сделал это, так что, возможно, ive испортило что-то ослепительно очевидное?
Сайт прекрасно работает на порту 80.
ЛЮБОВЬ, чтобы услышать некоторые предложения:)
Ответы
Ответ 1
При перечислении псевдонима с keytool
имя псевдонима - это то, что перед запятой для каждой записи. Здесь у вас есть 4 записи: secondary
, tomcat
, primary
и 1
. Только псевдоним 1
предназначен для закрытого ключа.
(Обратите внимание, что вы можете использовать файл PKCS # 12 напрямую, используя keystoreType="PKCS12"
.)
Ответ 2
Я нашел эту страницу, особенно полезную. Моя ситуация была связана с сертификатом geotrust, предоставленным domain.com, где у меня было только два файла: a текстовый сертификат (x509) и текстовый закрытый ключ. Эти инструкции и файл класса преобразователя работали как шарм.