第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 JVM 參數(shù)“-Dcom.ibm.mq.cfg.useIBMCipherMappings”

如何將 JVM 參數(shù)“-Dcom.ibm.mq.cfg.useIBMCipherMappings”

瀟湘沐 2022-12-15 17:07:32
最近我已經(jīng)遷移到 IBM MQ v8 到 IBM MQ v9(特別是 v9.1.2.0)。我使用 SSL 與經(jīng)紀(jì)人通信。因此,根據(jù)Deprecated CipherSpecs文檔,IBM 已經(jīng)棄用了 MQ 8 附帶的密碼套件數(shù)量,并且似乎我一直在使用的所有密碼套件都已被 v9 向上棄用。因此,我已經(jīng)實施了新的 TLS 密碼套件來處理我在 Oracle JVM(版本 1.8.0_211)上運行的應(yīng)用程序。自從我在應(yīng)用程序中遇到異常以來;com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2400'.    at com.ibm.mq.MQManagedConnectionJ11.constructMQCD(MQManagedConnectionJ11.java:1437)    at com.ibm.mq.MQManagedConnectionJ11.constructCNO(MQManagedConnectionJ11.java:1537)    at com.ibm.mq.MQManagedConnectionJ11.<init>(MQManagedConnectionJ11.java:221)    ... (Omitted the rest)當(dāng)我深入了解原因時,發(fā)現(xiàn)這是 IBM MQ 密碼套件和 Oracle JRE 密碼套件名稱不匹配的問題。但我確實在 IBM MQ classes for JMS 文檔中引用了 TLS CipherSpecs 和 CipherSuites來映射密碼套件名稱。我在我的應(yīng)用程序中使用了一些在 IBM MQ 中也可用的Equivalent CipherSuite (Oracle JRE)列值。但仍然遇到問題。在我找到這個建議將這個參數(shù)添加到 IBM MQ 的 JRE 的答案-Dcom.ibm.mq.cfg.useIBMCipherMappings=false之后(據(jù)我所知)。這可能允許 IBM MQ 使用 Oracle 兼容的密碼套件名稱。我的問題是,如何將此 JVM 參數(shù)添加-Dcom.ibm.mq.cfg.useIBMCipherMappings=false到 IBM MQ JRE?這個問題將 Java 客戶端 (JMS) 連接到 IBM MQ問題表明需要將相同的參數(shù)作為系統(tǒng)屬性添加到應(yīng)用程序中System.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", "false"),但它沒有任何不同。Java connection to WMQ 8 question 也說明了相同的解決方案,但沒有提到如何將此 JVM 參數(shù)添加到 IBM MQ。更新 1我做了一些關(guān)于如何向 IBM MQ 添加 JVM 參數(shù)的研究。但我只能找到 Websphere 應(yīng)用程序服務(wù)器的解決方案。我目前在應(yīng)用程序中使用的 CipherSuite 是;TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256(符合 Oracle JRE)IBM MQ 有相應(yīng)的;ECDHE_ECDSA_AES_128_CBC_SHA256(符合 IBM MQ)
查看完整描述

2 回答

?
元芳怎么了

TA貢獻1798條經(jīng)驗 獲得超7個贊

經(jīng)過一段時間的工作,我能夠解決這個問題。從一開始我就在應(yīng)用程序端遇到了這個證書配置問題。即使在創(chuàng)建self-signed標(biāo)記為之后的證書并使用工具ibmwebspheremq<queue_manager_name>與客戶端應(yīng)用程序共享提取的證書之后,也會發(fā)生這種情況。ikeymanAMQ9637E: Channel is lacking a certificate.


簡而言之,為了完全解決這個問題,我做了以下事情;


將客戶端 MQ 依賴項更新為com.ibm.mq.allclient:v9.1.2.0. 如果您使用的是 Maven,請使用以下依賴項(MQC91:IBM MQ 客戶端)。


<dependency>

    <groupId>com.ibm.mq</groupId>

    <artifactId>com.ibm.mq.allclient</artifactId>

    <version>9.1.2.0</version>

</dependency>

現(xiàn)在,如果應(yīng)用程序在 Oracle JVM 上運行,我們應(yīng)該說服 MQ 客戶端庫使用 Oracle JVM 兼容的密碼套件名稱。為此,請將其添加-Dcom.ibm.mq.cfg.useIBMCipherMappings=false為 JVM 標(biāo)志或?qū)⑵涮砑覵ystem.setProperty("com.ibm.mq.cfg.useIBMCipherMappings", "false")為系統(tǒng)屬性。


選擇適當(dāng)?shù)拿艽a套件與 MQ 通信。IBM MQ classes for JMS 文檔中的TLS CipherSpecs 和 CipherSuites將很有幫助,因為 IBM 已經(jīng)棄用了IBMMQ 9 之后的一些弱密碼規(guī)范。


我建議使用ECDHE_*密碼規(guī)范,因為它們提供Ephemeral Keys來維護Forward Secrecy。


然后,使用ikeymanGUI 工具,我創(chuàng)建了一個self-signed以名稱標(biāo)記的證書ibmwebspheremq<queue_manager_name>,而不是提取.arm文件,我將證書導(dǎo)出為.jks文件。keystore.jks和文件都truststore.jks從同一個證書中導(dǎo)出。之后,使用系統(tǒng)屬性將它們附加到應(yīng)用程序;


System.setProperty("javax.net.ssl.trustStore", "truststore.jks");

System.setProperty("javax.net.ssl.trustStorePassword", "<password>");

System.setProperty("javax.net.ssl.keyStore", "keystore.jks");

System.setProperty("javax.net.ssl.keyStorePassword", "<password>");

通過此配置,SSL 握手問題消失了,但 IBM MQ 仍要求使用用戶名和密碼進行用戶身份驗證。為了提供它們,應(yīng)該將這些屬性添加到MQEnvironment,


MQEnvironment.properties.put(com.ibm.mq.constants.CMQC.USER_ID_PROPERTY, "<user_name>");

MQEnvironment.properties.put(com.ibm.mq.constants.CMQC.PASSWORD_PROPERTY, "<password>");

在我的案例中,這些憑據(jù)是系統(tǒng)憑據(jù)。


如果您只是想像這樣跳過用戶身份驗證,您可以runmqsc像這樣使用 CLI 工具更新 IBMMQ 配置以跳過憑證檢查(請參閱此在隊列管理器文檔上打開連接身份驗證),


ALTER QMGR CONNAUTH(USE.PW)

DEFINE AUTHINFO(USE.PW) +

AUTHTYPE(IDPWOS) +

FAILDLAY(10) +

CHCKLOCL(OPTIONAL) +

CHCKCLNT(OPTIONAL)

REFRESH SECURITY TYPE(CONNAUTH)

請注意,CHCKCLNT需要將值設(shè)置為OPTIONAL忽略客戶端用戶憑據(jù)檢查。IBM MQ 應(yīng)該開始使用客戶端應(yīng)用程序,同時在這些配置后啟用 SSL。


查看完整回答
反對 回復(fù) 2022-12-15
?
慕容3067478

TA貢獻1773條經(jīng)驗 獲得超3個贊

注意:在已刪除的評論中添加答案以捕獲提供給 OP 的信息。


有關(guān)顯示與 MQ v9.1 的證書類型兼容性的表格,請參閱以下 IBM MQ 知識中心頁面:

IBM MQ 9.1.x/IBM MQ/安全/消息的機密性/啟用密碼規(guī)范

密碼ECDHE_ECDSA需要隊列管理器的套件 b 證書。如果為您的應(yīng)用程序使用客戶端證書,它還需要是套件 b。

請注意,您可以使用ECDHE_RSA非套件 b 證書的密碼。


隊列管理器使用存儲文件 ( key.sth for example) 來訪問該kdb文件??蛻舳说?java 等效項是您指定 jks 密碼。


查看完整回答
反對 回復(fù) 2022-12-15
  • 2 回答
  • 0 關(guān)注
  • 136 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號