Преобразовать сертификат .cer в .jks
Мне нужно преобразовать файл .cer
в файл .jks
.
Я видел несколько вопросов об этом, но не видел решения для того, что мне нужно.
Мне это не нужно, чтобы добавить его в мои локальные сертификаты, но в качестве файла для загрузки на сервер.
Мне также нужно сделать это только один раз, а не программно.
Вот этот поток Преобразование .cer в .jks с использованием java, и автор говорит, что он сделал это успешно, но я не мог комментировать его последний ответ, поскольку я не имеют достаточную репутацию, и я не могу отправить ему личное сообщение и спросить его.
Итак, если кто-нибудь знает о простом способе сделать это, я буду рад услышать.
Ответы
Ответ 1
keytool
поставляется с установкой JDK (в папке bin
):
keytool -importcert -file "your.cer" -keystore your.jks -alias "<anything>"
Это создаст новое хранилище ключей и добавит к нему только ваш сертификат.
Итак, вы не можете преобразовать сертификат в хранилище ключей: добавить сертификат в хранилище ключей.
Ответ 2
Чтобы быть уверенным, что это действительно "конверсия", вам нужно, обратите внимание, что файлы jks
являются хранилищами ключей, файловым форматом, используемым для хранения нескольких сертификатов, и позволяют программно их извлекать с использованием API безопасности Java, это не взаимно однозначное преобразование между эквивалентными форматами.
Итак, если вы просто хотите импортировать этот сертификат в новое временное хранилище, вы можете сделать это с помощью Keystore Explorer, графического инструмента, Вы сможете изменить хранилище ключей и содержащиеся в нем сертификаты, как это было бы сделано с утилитами терминала java, такими как keytool
(но более доступным способом).
Ответ 3
Экспорт сертификата из хранилища ключей:
keytool -export -alias mydomain -file mydomain.crt -keystore keystore.jks
Ответ 4
Использовать следующее поможет
keytool -import -v -trustcacerts
-alias keyAlias
-file server.cer
-keystore cacerts.jks
-keypass changeit