【问题标题】:Java Algorithm HmacSHA256 not availableJava 算法 HmacSHA256 不可用
【发布时间】:2011-02-11 21:06:23
【问题描述】:

我正在尝试使用 java 中的加密-解密代码。当我尝试使用 JDK 运行它并使用 main 方法在类中运行它时,它运行良好。但是当我尝试在 Tomcat 中运行相同的代码时,tomcat 会抛出异常:

java.security.NoSuchAlgorithmException:算法 HmacSHA256 不可用。

有人可以指导我正确的方向吗?

谢谢。

【问题讨论】:

标签: java algorithm exception


【解决方案1】:

您只是在运行不同的 JRE。 查看此页面以告诉您哪个可用。

http://java.sun.com/javase/6/docs/technotes/guides/security/SunProviders.html

【讨论】:

  • 您好,我尝试了链接并找到了 JCE 提供程序的 HmacSHA256,我假设 tomcat 默认情况下从本地系统的环境变量中获取 JRE,所以我什至在 tomcat 的库中使用了 JCE.jar 但它仍然没用。您能否指导我如何使本地库可用,或者可以使用一些第三方库。谢谢
  • @user324929 你是说你没有合适的 JRE 吗?我建议安装一个较新的,或更改为受支持的加密。如果您想知道如何在 Java 中添加 JCE 提供程序,我建议您在此站点上打开另一个问题,这不是我真正的专业领域。
  • 您好感谢您的评论,因为您建议我为 tomcat 重新配置了 JRE 设置 (JRE_HOME),并通过 ant 脚本对我的应用程序进行了战争,因此所有库都被包含在内并且运行良好。谢谢
  • @user324929 你能否为问题选择正确的答案,如果它解决了你的问题,可以选择标记它吗?
【解决方案2】:

在这里,我正在回答我在上面发布的问题。我认为该问题的解决方案是确保必须正确配置正在使用的服务器的所有设置,在我的情况下,它是我正在使用的 apache tomcat 的 JRE_HOME,并正确包含 servlet 和类使用的每个库(更好的写法一个 ant 脚本,以便将来只需稍作改动即可使用)。 谢谢你

【讨论】:

    【解决方案3】:

    将$JAVA_HOME/jre/lib/ext中的sunjce_provider.jar复制到容器的lib目录下。

    http://www.codeproject.com/Questions/378598/James-server-giving-java-security-NoSuchAlgorithmE

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-04
      • 2019-08-23
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-01
      相关资源
      最近更新 更多