在Bouncy城​​堡中使用SHA256的ECDSA没有抛出这样的算法例外

时间:2012-05-23 14:16:31

标签: java bouncycastle sha256 elliptic-curve

我正在尝试使用ECDSA SHA256生成一个签名,Bouncy Castle如下,

  1. 我在开头
  2. 添加提供程序
  3. 我已经构建了ECPrivatekey
  4. Signature s_oSignature = Signature.getInstance("SHA256withECDSA",     
    BouncyCastleProvider.PROVIDER_NAME);
    
  5. 但第3步抛出"java.security.NoSuchAlgorithmException: no such algorithm: SHA256withECDSA for provider BC"

    但是"SHA256withECDSA"替换为"SHA1withECDSA"时没有任何例外。

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

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

1 个答案:

答案 0 :(得分:2)

我从未遇到过这个问题,但这里有一些你可以试试的东西。

  1. 确保安装并配置了Java Cryptography Extension(JCE)Unlimited Strength Jurisdiction Policy Files(在页面底部下载here
  2. 尝试使用latest release of BouncyCastle并在运行时将其安装为提供程序,而不是在程序中即时启动
  3. 这个问题非常奇怪,因为SHA256withECDSA清楚地列在规范中,因此它只留下尝试所有可能选项的选项,无论他们多么不可能提供帮助。