- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我编写了一个程序将消息放入 MQ 中。当我没有适当的 SSL 配置时,它工作正常。如果我在 QueueManager 和 Channel 中配置 SSL,总是会发生 MQException:完成代码 2,原因 2400MQJE011:套接字连接尝试被拒绝。尝试使用不同的密码套件请告知如何解决它。
SSL 属性:
com.ibm.mq.MQEnvironment.sslCipherSuite = "TLS_RSA_WITH_AES_256_GCM_SHA384";
System.setProperty("javax.net.ssl.trustStore", "D:/keystore/testKS.jks");
System.setProperty("javax.net.ssl.trustStorePassword", "12345678");
System.setProperty("javax.net.ssl.keyStore", "D:/keystore/testKS.jks");
System.setProperty("javax.net.ssl.keyStorePassword", "12345678");
最佳答案
此答案特定于 Java 代码。
Java JRE(包括 Oracle/Sun 和 IBM 的)启用了加密算法的导入限制。这限制了最大 key 大小以及一些算法。
尝试使用 AES 256 密码时,例如 ECDHE_RSA_AES_256_CBC_SHA384 或 TLS_RSA_WITH_AES_256_CBC_SHA256 ,您需要确保 JRE 支持此密码。在大多数情况下,当需要更强的密码算法时,例如 AES 256 密码,必须获取 JCE Unlimited Strength Jurisdiction Policy Files 并将其安装在 JDK/JRE 中。
JDK/JRE 文档中提到了这一点:对于 Oracle 1.7:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
对于 IBM JRE:** 使用 AES_256 的密码套件需要安装 JCE Unlimited Strength Jurisdiction Policy Files。
这类似于在 IBM MQ Explorer 中指出的问题:
请使用 MSPKI 和密码值“TLS_RSA_WITH_AES_256_CBC_SHA”更新此运行的 JAR 文件
将支持所有算法的新策略 jar,您需要将 jar 更新到您的 C:\java-8\jdk1_8_0\jre\lib\security
http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
关于java - 发生 MQException : Completion Code 2, 原因 2400 MQJE011:套接字连接尝试被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35292388/
我是一名优秀的程序员,十分优秀!