- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将现有的 Java 应用程序连接到 WebSphere MQ 8。这在过去适用于其他版本的 Java 和 WMQ,但对于 Java 8 和 WMQ8,这不起作用。我得到:
handling exception: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
SEND TLSv1.2 ALERT: fatal, description = handshake_failure
WRITE: TLSv1.2 Alert, length = 2
called closeSocket()
Exception in thread "main" com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2397'.
我只是不明白为什么会发生这种情况。我已经设置了各种 javax.net.ssl 参数。我使用我创建的适当的 SSL_TRUSTSTORE 和 KEYSTORE。拥有 SSL_CIPHERSUITE。
我已经尝试了(几乎)WMQ 支持的所有记录的 CipherSuites;我正在研究整个列表,设置和环境如下:
其他信息:
最佳答案
MQ v7.0 于 2008 年 6 月 27 日发布(修订包 7.0.0.1 于 2009 年 1 月 20 日相关),自 2015 年 9 月 30 日起不再支持(超过 1.5 年)。根据我下面的回答,此版本的 MQ 将不支持 Oracle JRE 上的 TLS CipherSuites,虽然您可以更新到更高版本的修复包,但我强烈建议您迁移到受支持的 MQ 客户端版本。较新的 MQ 客户端版本可以连接到较旧的 MQ 队列管理器。您可以通过以下链接下载 MQ 8.0 或 MQ 9.0 jar 文件的仅 java 安装:
<小时/>APAR IV66840添加了新功能,允许非 IBM Java 运行时环境的用户使用 TLS CipherSuites。
对于 v7.0,这包含在 Fix Pack 7.0.1.13 中(请注意,Fix Pack 7.0.1.14 是该版本的最终版本)。
对于 8.0,这包含在 Fix Pack 8.0.0.2 中。
注意:此 APAR 是客户端修复。
要启用此选项,您需要执行以下操作:
To enable these non-default mappings for non-IBM runtime environments, the following Java System Property:
com.ibm.mq.cfg.useIBMCipherMappings
must be set to the value:
false
For example, this can be configured by using the JVM argument:
-Dcom.ibm.mq.cfg.useIBMCipherMappings=false
然后,您需要将 Oracle JRE 的 CipherSuite 指定为 TLS_RSA_WITH_AES_256_CBC_SHA
,请注意,SSL_RSA_WITH_AES_256_CBC_SHA
是 IBM JRE CipherSuite 名称。
完成上述操作后,您可能会遇到 AMQ9771, 2393 SSL 初始化错误。
dW 回答帖子“Why do I get AMQ9771, 2393 SSL Initialization error from a MQ Java/JMS application when trying to use an TLS AES 256 cipher?”。它指出以下内容:
In this case, the issue is caused by attempting to use AES 256 strong cipher algorithms.
Most Java JREs, including Oracle/Sun and IBM's have Import Limits on Cryptographic Algorithms enabled. This limits the maximum key sizes and also some algorithms.
When trying to use a AES 256 cipher, such as ECDHE_RSA_AES_256_CBC_SHA384 or TLS_RSA_WITH_AES_256_CBC_SHA256 with a MQ Java/JMS application, you need to ensure your JRE supports this cipher. In most cases, when the stronger cipher algorithms are needed, such as AES 256 ciphers, the JCE Unlimited Strength Jurisdiction Policy Files must be obtained and installed in the JDK/JRE.
This is noted in the JDK/JRE documentation: For Oracle 1.7:
http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html
上面的预言机网站链接指出:
If stronger algorithms are needed (for example, AES with 256-bit keys), the JCE Unlimited Strength Jurisdiction Policy Files must be obtained and installed in the JDK/JRE.
It is the user's responsibility to verify that this action is permissible under local regulations.
如果您确实获得了 2393,请按照上述建议获取并安装JCE 无限强度管辖权策略文件。
关于Java 连接到 WMQ 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43194227/
我正在尝试获取 AMS 与 MQ Explorer 配合使用的快速入门 现在我在 Linux 上有用户 Bob 和 Alice, 以及 Windows 和 Linux 上的用户 Exp(运行资源管理器
如果一个发布者向一个MQ主题发布了一些消息,但是订阅者没有接受它,那么这些消息保存在哪里呢?有什么方法可以知道消息数吗? 最佳答案 由于 MQ 是 JMS 兼容的,所以答案主要是 JMS 答案。 如果
如果 JMS 客户端应用程序要求不能丢失任何消息,也不能重复发送以供处理,并且每条消息与其他消息无关(无批处理),那么哪种组合可以满足这些要求:- 持久化+自动确认 session 模式(异步消费者)
我正在尝试将现有的 Java 应用程序连接到 WebSphere MQ 8。这在过去适用于其他版本的 Java 和 WMQ,但对于 Java 8 和 WMQ8,这不起作用。我得到: handling
假设有一个移动应用程序需要从服务器发出同步请求/查询某些数据。该请求将首先到达托管的 JMS 客户端,该客户端将在外部队列(来自合作伙伴)上发布消息/请求。现在这里开始不清楚。我如何以同步方式从合作伙
对于以下代码 public class JMSSamplePut { private static String initialContextUrl = null;
我对 有点困惑syncpoint 来自 WebSphere MQ。根据 WMQ 信息中心的引用,同步点 定义如下: The decision to commit or back out the cha
我正在使用 JBoss EAP 7、用于连接 WMQ 的 WMQ 资源适配器和用于 AMQ 的 AMQ 资源适配器。我必须从 AMQ 获取消息并执行一些逻辑并将其放入 WMQ。每当 JMSProduc
目前我正在使用camel和wmq。我试图做的是向 wmq 发送消息。我使用 Spring 框架配置 Camel 。以下是配置 wmq 的方法: component.xml
当本地队列管理器在其 AMQ 错误日志中收到以下消息时: 09/13/12 08:00:19 - Process(3017.20) User(mqm) Program(amqrmppa_nd) AMQ
当我在没有安装 MQ 服务器和客户端的情况下使用 C# 连接 WebSphere MQ 时,出现异常 The type initializer for 'IBM.WMQ.MQQueueManager'
使用 WebSphere MQ 我想设置一个使用队列的主题,以便当应用程序或入站集群连接尝试将消息放入“队列”时,它实际上使用一个主题,并将其发布到 2 个订阅,它们是他们自己有 2 个独立的队列。本
使用 WebSphere MQ 我想设置一个使用队列的主题,以便当应用程序或入站集群连接尝试将消息放入“队列”时,它实际上使用一个主题,并将其发布到 2 个订阅,它们是他们自己有 2 个独立的队列。本
我们正在使用 IBM 的 WebSphere MQ 的 .NET API。 创建 MQQueueManager 对象显然是一项昂贵的操作,因此我们缓存并重用这些对象的池。 目前,对于每个请求,我们访问
我们目前正在为我们的 SVRCONN channel 实现安全导出。此导出将对我们的 LDAP(AD 或 UNIX)进行身份验证。我们当前的导出实现仅适用于来自 MQ EXPLORER 的连接。 当我
以下是 QMGR 日志文件中有关 WMQ channel 问题的相关部分: --------------------------------------------------------------
我正在使用 WMQ 访问大型机上的 IBM WebSphere MQ - 使用 C#。 我们正在考虑将我们的服务分散在多台机器上,然后我们需要确保两台不同机器上的两个服务不能同时读取/获取相同的 MQ
我有传统的 (com.ibm.mq.jar) MQ Java 应用程序用于测试目的。现在我需要使用该应用程序向 JMS 发送一些消息。当我尝试在 MQ 消息上设置任何 JMS 属性时,例如: mess
我在获取消息 ID 并将其设置为回复的相关 ID 时遇到问题。 这是一段代码: MQBYTE msgID; request_msg.messageId().copyOut(msgID, MQ_MSG_
目前我正在使用骡子,需要在 WMQ 队列中写入。但是我不想使用 WMQ 端点,而是想通过使用 JMS 端点来实现。这是我的配置:
我是一名优秀的程序员,十分优秀!