2016-12-04 6 views
1

Когда я использую Keytool для генерации ключа с ECC, я получаю эту ошибку : KeytoolKeytool EC KeyPairGenerator не доступен

Ошибка: java.security.NoSuchAlgorithmException: EC KeyPairGenerator не доступно

Затем синтаксис, используемый для генерации ключа является:

keytool -genkey -alias testing -keyalg EC -keysize 256 -keystore try.jks -dname "CN=localhost,OU=dep,O=lks,L=ny,ST=ny,C=USA" 

У меня есть эта версия Java:

openjdk version "1.8.0_60" 
OpenJDK Runtime Environment (build 1.8.0_60-b16)        
OpenJDK 64-Bit Server VM (build 25.60-b16, mixed mode) 

ответ

1

Я решил проблему, читая это article (связанный пользователем @QuakeCore). Если у кого-либо есть эта проблема, вы можете решить следующие шаги:

  1. Скачать Java Oracle (tar.gz);
  2. Скопируйте файл jdk1.8.0_*/jre/lib/amd64/libsunec.so из извлеченной папки в /usr/lib/jvm/java-1.8.0-openjdk.x86_64/jre/lib/amd64/libsunec.so;
  3. Используйте синтаксис, написанный в моем исходном вопросе, чтобы сгенерировать ключ.
2

Эта ошибка указывает, что ваш провайдер безопасности ЕС отсутствует, выполните следующие действия, чтобы добавить его:

  • Отредактируйте файл «jdk1.8.0_65 \ Lib \ security \ java.security "
  • Поиск« Список поставщиков и их порядок предпочтения »
  • Добавить« security.provider. [Идентификатор поставщика безопасности +1] = sun.security.ec.SunEC »в список провайдеров безопасности.

см. Этот link для получения более подробной информации о поставщике услуг безопасности sunEC.

+0

У меня уже есть этот провайдер на java.security (третий элемент) -> http://imgur.com/LdQt5jt – CipherX

+1

Я думаю, у вас нет sunec.jar в вашей папке jdk/lib/ext, пожалуйста попробуйте загрузить его и добавить там. – QuakeCore

+0

Извините @QuakeCore, но у меня тоже есть эта библиотека -> http://imgur.com/a/yETIL Чужой человек: если я использую RSA, я могу сгенерировать ключ, но с ECC, nope. – CipherX

1

У меня была такая же ошибка с pepk (Play Encrypt Private Key) на Ubuntu 16.04.

Я решил это с решением, близкой к ответу CipherX в:

  1. Скачать Java Oracle (tar.gz)
  2. Извлечение файлов
  3. Вместо запуска java, установленного на системном, запустите java из извлеченные файлы:
~/Downloads/android/jdk-9.0.1/bin/java -jar pepk.jar --keystore=acme.keystore \ 
--alias=acme --output=encrypted_private_key_path --encryptionkey=eb… 

И ошибка Error: EC KeyPairGenerator not available исчезла.

+0

Это единственный результат Google при поиске «pepk» и сообщения об ошибке. Вы можете переместить его на свой собственный вопрос и ответить на него самостоятельно. – Keith

 Смежные вопросы

  • Нет связанных вопросов^_^