Подтвердить что ты не робот

Как я могу создать хранилище ключей из существующих сертификатов (abc.crt) и файлов abc.key?

Я пытаюсь импортировать сертификат и файл ключа в хранилище ключей, но я не могу этого сделать.

Как создать хранилище ключей путем импорта как существующего сертификата (abc.crt), так и файлов abc.key?

4b9b3361

Ответ 1

Самый простой способ - создать файл PKCS # 12 с помощью OpenSSL:

openssl pkcs12 -export -in abc.crt -inkey abc.key -out abc.p12

Вы должны иметь возможность использовать полученный файл напрямую, используя тип хранилища PKCS12.

Если вам действительно нужно, вы можете преобразовать его в JKS с помощью keytool -importkeystore (доступно в keytool из Java 6):

keytool -importkeystore -srckeystore abc.p12 \
        -srcstoretype PKCS12 \
        -destkeystore abc.jks \
        -deststoretype JKS

Ответ 2

Вы должны использовать OpenSSL и keytool.

OpenSSL для файла CER и PVK > P12

openssl pkcs12 -export -name servercert -in selfsignedcert.crt -inkey serverprivatekey.key -out myp12keystore.p12

Keytool для p12 > JKS

keytool -importkeystore -destkeystore mykeystore.jks -srckeystore myp12keystore.p12 -srcstoretype pkcs12 -alias servercert

Ответ 3

В дополнение к ответу @Bruno вам необходимо предоставить -name для псевдонима, иначе Tomcat выдаст ошибку Alias name tomcat does not identify a key entry

Пример команды: openssl pkcs12 -export -in localhost.crt -inkey localhost.key -out localhost.p12 -name localhost

Ответ 4

Если хранилище ключей предназначено для tomcat, то после создания хранилища ключей с вышеуказанными ответами необходимо добавить последний шаг для создания псевдонима "tomcat" для ключа:

keytool -changealias -alias "1" -destalias "tomcat" -keystore keystore-file.jks

Вы можете проверить результат с помощью:

keytool -list -keystore keystore-file.jks -v