在尝试使用jasypt加密某些数据时,我遇到了以下异常:
org.jasypt.exceptions.EncryptionOperationNotPossibleException: Encryption raised an exception. A possible cause is you are using strong encryption algorithms and you have not installed the Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files in this Java Virtual Machine
我发现了几个问题,所以我通过在我的代码中将crypto.policy属性设置为unlimited来修复此问题:
Security.setProperty("crypto.policy", "unlimited");
我在我的机器中用JBoss部署了战争,它可以工作。但后来我们尝试在不同的环境中安装它(不完全由我们管理),它似乎以某种方式忽略了属性(我有一些日志来显示它的值,我可以看到加密前的值是正常的),因为我们仍然得到同样的错误。
所以,我的问题是:即使以编程方式更改,可以在JBoss中配置什么来忽略该属性?
我们检查了该环境中的Java版本,它是"1.8.0_152"
,所以我们认为应该没问题。我们缺少什么?
答案 0 :(得分:1)
你得到的是什么错误?如果您收到上述异常,可能是因为您未在新环境中安装Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files。您可以检查机器和新环境中的JCE。