Кто нибудь сталкивался, где приходится иметь дело с файлом .truststore? и знаете, как импортировать .cer в файл .truststore?
Я не уверен, нужно ли мне использовать Java Keytool или команду Linux (например, команду openssl).
Благодарность
Ответы:
# Copy the certificate into the directory Java_home\Jre\Lib\Security
# Change your directory to Java_home\Jre\Lib\Security>
# Import the certificate to a trust store.
keytool -import -alias ca -file somecert.cer -keystore cacerts -storepass changeit [Return]
Trust this certificate: [Yes]
changeit - пароль хранилища доверенных сертификатов по умолчанию
Вместо использования sed
для фильтрации сертификата вы также можете передать openssl s_client
вывод openssl x509 -out certfile.txt
, например:
echo "" | openssl s_client -connect my.server.com:443 -showcerts 2>/dev/null | openssl x509 -out certfile.txt
Вы импортируете файл .cer в хранилище доверенных сертификатов так же, как импортируете файл .crt, скажем, из экспорта из Firefox.
Вам не нужно указывать псевдоним и пароль хранилища ключей, вы можете просто ввести:
keytool -v -import -file somefile.crt -alias somecrt -keystore my-cacerts
Предпочтительно использовать файл cacerts, который уже находится в вашей установке Java (jre \ lib \ security \ cacerts), поскольку он содержит безопасные «популярные» сертификаты.
Обновление относительно различий cer и crt (просто для пояснения) Согласно Apache с SSL - как преобразовать сертификаты CER в CRT? и пользователь @Spawnrider
CER - это сертификат X.509 в двоичной форме в кодировке DER.
CRT - это двоичный сертификат X.509, заключенный в текстовую (base-64) кодировку.
Это не та кодировка.