Импортируйте сертификат в хранилище ключей для Wildfly 9.2 (хранилище ошибок не содержит ключей)
У меня есть сертификат p7b, и я импортирую в IIS и экспортирую в файл 3.cer, как показано ниже.
- root.cer
- intermediate.cer
- servercertificate.cer
затем я использую следующие команды, чтобы успешно вставить все 3 сертификата в хранилище ключей.
keytool -import -alias root -keystore test.keystore -trustcacert -file root.cer
затем я запускаю свою wildfly, и появляется сообщение об ошибке "хранилище ключей не содержит ключа", но когда я перечисляю хранилище ключей, в нем находятся все 3 ключа. Я не уверен, почему это не работает, и надеюсь, что кто-то может просветить меня об этом.
1 ответ
Хранилище ключей Java может содержать (как минимум) два вида записей:
запись доверенного типа, содержащая сертификат
'privateKeyEntry', который содержит цепочку сертификатов privatekey AND
Вы создали первый вид, импортировав отдельные сертификаты; посмотрите на дисплей от keytool -list
и эти записи будут помечены trustedCertEntry
, Серверу SSL/TLS требуется цепочка сертификатов privatekey AND, в privateKeyEntry
,
Я не знаю ISS, но если вы имеете в виду, что вы сгенерировали ключ и CSR в IIS, IIS обычно использует хранилище ключей Windows для некоторой системной учетной записи; Я не помню, какой, но это должно быть очевидно в конфиге где-то. Вам необходимо запустить MMC+CertMgr для этой учетной записи, найти правильную запись (с желтой клавишей с левой стороны от значка сертификата) и экспортировать ее с "Да экспортировать закрытый ключ" в формате "PKCS#12 (PFX").) '' включить... путь 'к файлу. Во многих случаях Java/JCE может использовать файл PKCS12 непосредственно в качестве хранилища ключей (вместо JKS), но если вам нужно или предпочитаете конвертировать в JKS, используйте keytool -importkeystore
(не -importcert
).
Смотрите также сбой конфигурации JBoss Https с сертификатом CER/P7b.