我正在使用带有rails的jruby。我已经在我的机器上安装了JDK7。每当我启动我的rails服务器并尝试运行我的应用程序时,我得到的错误是"Illegal key size: possibly you need to install Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files for your JRE"
我在google上搜索,发现我必须下载JDK-7安全策略文件。因此,我从here下载了这些文件,并将它们放入我的java目录路径"C:\Program Files\Java\jdk1.7.0_79\jre\lib\security"中。我认为这将解决我的问题,但我仍然得到相同的错误。
在java的安全文件夹中粘贴文件时,我会收到一个警告框,其中的信息为"you will need to provide administration permission to copy this folder"。我点击了警告框的继续按钮,文件被复制了。
我一定漏掉了什么。
请帮帮忙
发布于 2016-09-26 01:11:41
我用下面的内容创建了一个文件config/initializers/unlimited_strength_cryptography.rb,它工作了
if RUBY_PLATFORM == 'java' # Allows the application to work with other Rubies if not JRuby
require 'java'
java_import 'java.lang.ClassNotFoundException'
begin
security_class = java.lang.Class.for_name('javax.crypto.JceSecurity')
restricted_field = security_class.get_declared_field('isRestricted')
restricted_field.accessible = true
restricted_field.set nil, false
rescue ClassNotFoundException => e
# Handle Mac Java, etc not having this configuration setting
$stderr.print "Java told me: #{e}n"
end
endhttps://stackoverflow.com/questions/39686447
复制相似问题