Ошибка ключевого инструмента: java.security.KeyStoreException: DER не найден

Привет, я новичок в рукопожатии SSL. Я загрузил сертификат сервера из браузера и пытаюсь создать хранилище ключей с помощью keytool. Сертификат я храню как.cer с кодировкой der. но я получаю

keytool error: java.security.KeyStoreException: DER not found

я пробовал ниже команды

  keytool -importkeystore -v -srckeystore certificate.cer -srcstoretype DER- destkeystore avg_clientcerts.keystore.jks -deststoretype JKS -storetype JKS

и изменение сертификата с расширением.der

keytool -importkeystore -v -srckeystore certificate.der -srcstoretype DER -destkeystore avg_clientcerts.keystore.jks -deststoretype JKS -storetype JKS

получать ошибку как

keytool error: java.security.KeyStoreException: DER not found
java.security.KeyStoreException: DER not found
    at java.security.KeyStore.getInstance(KeyStore.java:851)
    at sun.security.tools.keytool.Main.loadSourceKeyStore(Main.java:2020)
    at sun.security.tools.keytool.Main.doCommands(Main.java:1074)
    at sun.security.tools.keytool.Main.run(Main.java:366)
    at sun.security.tools.keytool.Main.main(Main.java:359)
Caused by: java.security.NoSuchAlgorithmException: DER KeyStore not available
    at sun.security.jca.GetInstance.getInstance(GetInstance.java:159)
    at java.security.Security.getImpl(Security.java:695)
    at java.security.KeyStore.getInstance(KeyStore.java:848)
    ... 4 more

Вот как я импортирую сертификат

введите описание изображения здесь

1 ответ

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

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

Короче ваша команда должна быть похожа на следующую.

keytool -importcert -file certificate.der -keystore avg_clientcerts.keystore.jks -alias "<<domain_name>>"

вот очень подробное объяснение этого процесса

Другие вопросы по тегам