问题背景
最近使用snmp的v3协议接收和发送数据,但对方规定了AES256加密。当我snmp发送trap时,会报错 Illegal key size。如果使用AES128加密,很正常,发送和接收v3的加密且认证数据一点问题也没用。
看了许久源码,终于找到了加密使用的是本地的jdk的类,如图
解决方案如下:
处理办法: 在官方网站下载JCE无限制权限策略文件
JDK7的下载地址:
link http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
JDK8的下载地址:
link http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html
下载后解压,可以看到local_policy.jar和US_export_policy.jar以及readme.txt
如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件
如果安装了JDK,还要将两个jar文件也放到%JDK_HOME%\jre\lib\security目录下覆盖原来文件