Назад | Перейти на главную страницу

Импортировать сертификат в хранилище ключей для Wildfly 9.2 (хранилище ключей ошибок не содержит ключей)

У меня есть сертификат p7b, и я импортирую его в IIS и экспортирую в 3 файла .cer, как показано ниже.

  1. root.cer
  2. Intermediate.cer
  3. servercertificate.cer

затем я использую следующие команды, чтобы успешно вставить все 3 сертификата в свое хранилище ключей.

keytool -import -alias root -keystore test.keystore -trustcacert -file root.cer

затем я запускаю свою wildfly и выдает ошибку «хранилище ключей не содержит ключей», но когда я перечисляю хранилище ключей, внутри него находятся все 3 ключа. Я не уверен, почему это не работает, и надеюсь, что кто-то сможет просветить меня по этому поводу.

Хранилище ключей Java может содержать (как минимум) два разных типа записей:

  • запись trustCertEntry, содержащая сертификат

  • privateKeyEntry, содержащий цепочку секретных ключей И сертификатов

Вы создали первый вид, импортировав одиночные сертификаты; посмотрите на дисплей из keytool -list и эти записи будут помечены trustedCertEntry. Серверу SSL / TLS требуется личный ключ И цепочка сертификатов в privateKeyEntry.

Я не знаю ISS, но если вы имеете в виду, что вы сгенерировали ключ и CSR в IIS, IIS обычно использует хранилище ключей Windows для некоторой системной учетной записи; Не помню, какой, но где-то в конфиге должно быть очевидно. Вам нужно запустить MMC + CertMgr для этой учетной записи, найти правильную запись (с желтым ключом в левой части значка сертификата) и экспортировать ее с помощью «Да, экспортировать закрытый ключ» в формате «PKCS # 12 (PFX ) '' включить ... путь 'к файлу. Во многих случаях Java / JCE может использовать файл PKCS12 непосредственно в качестве хранилища ключей (вместо JKS), но если вам нужно или вы предпочитаете конвертировать в JKS, используйте keytool -importkeystore (не -importcert).

См. Также near-dupe Ошибка конфигурации JBoss Https с сертификатом CER / P7b