2014-12-25 7 views
18

Я создал хранилище .p12, используя openssl из kkystore pkcs8. Теперь я пытаюсь импортировать закрытый ключ с помощью java Keytool в новое хранилище ключей JKS. Я попробовал команду:Невозможно импортировать .p12 keystore

keytool -importkeystore -srckeystore newKS.p12 -srcstoretype pkcs12 -srcstorepass pass -destkeystore exportedJks.jks -deststoretype jks -deststorepass pass

Но я получаю следующее сообщение об ошибке:

keytool error: java.security.UnrecoverableKeyException: Get Key failed: EC KeyFactory not available

Как я могу устранить эту ошибку, так что я могу импортировать этот ключ в новый JKS хранилище?

+5

http://meta.stackoverflow.com/questions/281257/why-was-this-question-put-on-hold-as-too-broad –

ответ

24

Сообщение об ошибке означает, что среда выполнения Java не могла найти крипторесурса для алгоритмов ECC (кривая эллиптической кривой).

Java 6 содержит только базовую поддержку ECC: он знает OID большинства алгоритмов EC и поэтому знает, что он должен найти «EC KeyFactory». Однако по умолчанию ни один провайдер не может установить эти алгоритмы.

В Java 7 добавлена ​​SunEC provider с полной поддержкой ECC, поэтому самым простым решением этой проблемы является использование keytool из среды выполнения Java 7 или 8.