Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bluemix-Java应用程序-如何修补无限的JCE强度?_Java_Ssl_Ibm Cloud_Jce - Fatal编程技术网

Bluemix-Java应用程序-如何修补无限的JCE强度?

Bluemix-Java应用程序-如何修补无限的JCE强度?,java,ssl,ibm-cloud,jce,Java,Ssl,Ibm Cloud,Jce,我的应用程序是一个纯Java包,它集成了一个嵌入式web容器,并处理Oauth 2.0身份验证流 运行跟踪我已经通过使用环境变量中的JAVA_OPTS=“-Djavax.net.debug=SSL”配置隔离了SSL问题,并重复应用程序“推送”以激活跟踪。它显示了一个关于无限制JCE强度的问题。请参阅以下消息: Error log: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated Trace log: handlin

我的应用程序是一个纯Java包,它集成了一个嵌入式web容器,并处理Oauth 2.0身份验证流

运行跟踪我已经通过使用环境变量中的JAVA_OPTS=“-Djavax.net.debug=SSL”配置隔离了SSL问题,并重复应用程序“推送”以激活跟踪。它显示了一个关于无限制JCE强度的问题。请参阅以下消息:

Error log: javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated
Trace log: handling exception: javax.net.ssl.SSLKeyException: RSA premaster secret error
这似乎是调用节点(IdP)和OpenJDKJava8之间的不兼容

是否可以向Java构建包添加补丁以激活无限JCE强度?cf cli命令层或Bluemix仪表板控制台设置是否支持此修补程序,或者它是否需要打包上载包含更新的Java安全目录的新映像?补丁的结构是什么(例如Maven包)。这是我当前的推送命令:

cf push redoauth2 -p ./target/red-oauth-1.0-SNAPSHOT-jar-with-dependencies.jar -m 200M -t 180

通过使用一个差异化的Java构建包找到了一个解决方案,该包已经包含了一个用于无限JCE设置的补丁。下面是添加a-b参数的cf push命令,它修复了这种情况

cf push redoauth2 -p ./target/red-oauth-1.0-SNAPSHOT-jar-with-dependencies.jar -m 200M -t 180 -b https://github.com/cloudfoundry/java-buildpack

如果推送服务器目录,Bluemix支持覆盖JRE

假设正在推送名为defaultServer的目录,请创建以下目录:

defaultServer/resources/.java-overlay/.java/jre/lib/security
从IBM下载Java Cryptography Extension(JCE)unlimited strength策略JAR文件,并将其放置在创建的覆盖目录中

使用以下命令推送目录:

$ cf push <yourappname> -p defaultServer
$cf push-p defaultServer
这些JAR文件将覆盖Java运行时中的默认策略JAR

更新

截至2017年8月14日,IBM Cloud(前身为BlueMix)Liberty buildpack现在包含Java加密扩展(JCE)无限强度管辖权策略文件


Bluemix链接已关闭。已删除链接,但发现BM现在包含JCE文件-请参阅更新