Ошибка keytool: java.io.FileNotFoundException: C:\cacerts (доступ запрещен)

Я нахожусь на Windows 10 с JRE8, и команда, которую я использую:

C:\Program Files\Java\jre1.8.0_60\bin>keytool -keystore "C:\cacerts" -storepass changeit -importcert -file "C:\Users\MyUser\Desktop\sf.cer" -alias Symantec_Secure_Server_Class_3

Вот что я пробовал до сих пор:

  1. Предоставил полный доступ к файлу cacerts моему пользователю (хотя я и являюсь администратором)
  2. Запустил keytool как системный администратор в cmd
  3. Разместите каски в разных местах (даже пробовал C:\cacerts)

Я продолжаю получать ту же ошибку:

Сертификат был добавлен в keytool хранилища ключей: ошибка: java.io.FileNotFoundException: C:\cacerts (доступ запрещен)

Что еще я могу сделать, чтобы импортировать этот сертификат в мой файл cacerts?

7 ответов

Попробуйте запустить командную строку от имени администратора и повторите

Используйте следующую команду:

keytool -genkey -v -keystore test.keystore -alias testkeystore -keyalg RSA -keysize 2048 -validity 10000

проблема заключалась в том, что я не давал имени файла, то есть {test.keystore}, которое необходимо создать как файл хранилища ключей.

Это решит проблему.

В итоге я переключился на другой компьютер под управлением Windows 8 с JRE7, и это сработало!

ОБНОВЛЕНИЕ: Защитник Windows блокировал доступ к файлу cacerts. Я отключил инструмент для кирпичной стены, и теперь все хорошо!

Попробуйте установить другой диск: D:\tmp или C:\tmp (кроме root).

Если вы запускаете команду keytool в Linux и сталкиваетесь с подобной проблемой, запустите этот инструмент с помощью sudo.

sudo keytool -genkey -alias amq-server -keyalg RSA -keystore amq-server.ks

Запуск консоли от имени администратора решает эту ошибку.

Убедитесь, что вы инициализируете сертификаты в режиме администратора. Это можно сделать, щелкнув правой кнопкой мыши по командной строке> Запуск от имени администратора (в случае Windows 8 или выше). Если в win 7, перейдите в "Программы"> "Стандартные"> "Командная строка"> "Щелкните правой кнопкой мыши"> "Запуск от имени администратора".

Затем в cmd используйте команду ниже (убедитесь, что u - каталог сертификатов):keytool -import -file staging.cer -keystore "%Certificate_destination%" -storepass changeit -alias "%Cerificate_name%"

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