Я устанавливаю сертификат SSL на свой сервер Tomcat, но он не может найти запись ключа в моем файле хранилища ключей.
Если я не укажу keyAlias="mykey"
он показывает мне следующее сообщение об ошибке:
javax.net.ssl.SSLException: No available certificate or key corresponds to the SSL cipher suites which are enabled.
Как я видел в документации Tomcat http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html#Troubleshooting он говорит мне указать keyAlias
.
Однако когда я это делаю, я получаю следующее сообщение об ошибке:
java.io.IOException: Alias name mykey does not identify a key entry
И если я keytool -list -keystore .keystore -v
, Я получаю три ключевых записи, две от компании по сертификации и последнюю:
Alias name: mykey
Creation date: Dec 17, 2011
Entry type: trustedCertEntry
То есть ключевой элемент есть, но Tomcat не может его найти. В keystoreFile
исправлен набор в файл хранилища ключей.
Что это может быть?
Для всех, кто наткнется на это: ключ (каламбур не предназначен) состоит в том, чтобы импортировать ваш сертификат с помощью тот же псевдоним как тот, который вы использовали для первоначального создания хранилища ключей (вместе с его закрытым ключом), когда вы запускали 'keytool -genkey-alias миалиас ... '- так Tomcat связывает закрытый ключ с вашим новым сертификатом при его импорте.
По сути, как говорили другие комментаторы, в конечном итоге ваш собственный сертификат НЕ должен отображаться как «trustCertEntry» в «keytool -list» - он должен быть «PrivateKeyEntry», см. Пример ниже:
keytool -list -keystore sample.keystore
Your keystore contains 1 entry
example, Aug 28, 2018, PrivateKeyEntry,
Certificate fingerprint (SHA1): 12:E0:20:64:92:8A(...)
Вы можете узнать исходный псевдоним, запустив keytool -list и выполнив поиск записи PrivateKeyEntry. Если все пойдет хорошо, когда вы импортируете свой новый сертификат, предоставленный центром сертификации (т. Е. Вы используете тот же псевдоним и ваши ключи совпадают), новый сертификат будет автоматически включен в PrivateKeyEntry. Это псевдоним, на который вам нужно ссылаться в файле Tomcat server.xml.