美文网首页
java实现DH密钥交换算法时出现“Unsupported se

java实现DH密钥交换算法时出现“Unsupported se

作者: SsmallLucky | 来源:发表于2018-09-27 14:25 被阅读0次

    在应用不对称加密算法中的DH算法时出现了这样的报错提示:“Unsupported secret key algorithm:AES”,字面意思是密钥所用的算法不被支持。随后通过排查,发现是JDK版本的原因,由于JDK8 update 161之后,DH的密钥长度至少为512位,但AES算法密钥不能达到这样的长度,所以导致报错。

    解决办法:

    1. 将-Djdk.crypto.KeyAgreement.legacyKDF=true 写入JVM系统变量中,可以在eclipse的run configurations里配置系统变量。

    2. 更换JDK版本,并在eclipse或者intellij idea中将所属过程的JDK版本换成JDK1.8以下版本。需要注意的是,在intellij idea中更改JDK版本后,需要将Project Language Level 一起更换,如下图所示:


      图1

    修改完成之后再次运行程序,即可正常打印DH加密和解密的值。

    相关文章

      网友评论

          本文标题:java实现DH密钥交换算法时出现“Unsupported se

          本文链接:https://www.haomeiwen.com/subject/hceeoftx.html