Цифровой сертификат: как импортировать файл .cer в файл .truststore с помощью?

Кто-нибудь сталкивался с тем, где им приходится иметь дело с файлом .truststore? и знать, как импортировать .cer в файл .truststore?

Я не уверен, что мне нужно использовать команду Java Keytool или Linux (например, команду openssl).

Спасибо

Ответ 1

# 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 - это пароль доверия по умолчанию

Ответ 2

Вместо того, чтобы использовать 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

Ответ 3

Вопрос заключается в том, как импортировать файл .cer в хранилище доверия, но у меня есть .crt файл, который я экспортировал из Firefox.

Поиск в Интернете , как импортировать .crt, чтобы доверять хранилищу указывает на этот вопрос. Поскольку я узнал, как импортировать .crt в хранилище доверия, я тоже отвечаю на это.

Ответ: тот же, что и для .cer файлов.

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

keytool -v -import -file somefile.crt  -alias somecrt -keystore my-cacerts

Предпочтительно использовать файл cacerts, который уже находится в вашей установке Java (jre\lib\security\cacerts), поскольку он содержит уже безопасные "популярные" сертификаты.

Обновление относительно различий cer и crt (просто для уточнения) Согласно Apache с SSL - как конвертировать сертификаты CER в CRT? и user @Spawnrider

CER - это сертификат X.509 в двоичной форме, закодированный DER.
CRT - это двоичный сертификат X.509, инкапсулированный в текстовое (базовое-64) кодирование.
Это не то же самое кодирование.