Ошибка 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
Вот что я пробовал до сих пор:
- Предоставил полный доступ к файлу cacerts моему пользователю (хотя я и являюсь администратором)
- Запустил keytool как системный администратор в cmd
- Разместите каски в разных местах (даже пробовал 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%"