3

我正在尝试使用ECDSAwith SHA256in生成签名Bouncy Castle,如下所示,

  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"prceeds 替换时,没有任何例外。

这怎么可能?我正在使用"bcprov-jdk14-121.jar".

由于我已经挣扎了很长时间,任何人都可以帮助我吗?

4

1 回答 1

2

我从来没有遇到过这个问题,但这里有一些你可以尝试的事情。

  1. 确保您已安装和配置 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files(在页面底部下载)
  2. 尝试使用最新版本的 BouncyCastle并将其作为提供程序安装在运行时中,而不是在程序中即时安装

这个问题非常奇怪,因为 SHA256withECDSA 明确列在规范中,所以它只留下尝试所有可能选项的选项,无论它们多么不可能提供帮助。

于 2012-12-19T03:22:50.753 回答