2012-05-23 5 views
2

Я пытаюсь создать подпись, используя ECDSA с SHA256 в Bouncy Castle следующим образом,ECDSA с SHA256 в Надувном замке не проливает такого исключения Алгоритма

  1. добавляет поставщик в начале
  2. Я построил ECPrivatekey
  3. Signature s_oSignature = Signature.getInstance("SHA256withECDSA",  
    BouncyCastleProvider.PROVIDER_NAME); 
    

, но шаг 3 бросает "java.security.NoSuchAlgorithmException: no such algorithm: SHA256withECDSA for provider BC".

Но такой же "SHA256withECDSA" вещь при замене на "SHA1withECDSA" без каких-либо исключений.

Как это возможно? Я использую "bcprov-jdk14-121.jar".

Может ли кто-нибудь помочь мне, поскольку я долгое время боролся?

+1

Попробуйте использовать более новую версию библиотеки bouncycastle. –

ответ

2

Я никогда не сталкивался с этой проблемой, но вот несколько вещей, которые вы можете попробовать.

  1. убедитесь, что у вас есть Cryptography Extension Java (ОКО) Безлимитный Strength политики Юрисдикция Файлы установлены и настроены (скачать here в нижней части страницы)
  2. попробуйте использовать latest release of BouncyCastle и установить его в качестве поставщика в во время выполнения, а не на лету в рамках программы

Эта проблема является чрезвычайно странным, как SHA256withECDSA четко указаны в технических характеристиках, так что остается только возможность, чтобы попробовать все возможные варианты, независимо от того, насколько маловероятно, что они должны помочь.