私は安全でないチャネルを使用してQManagerへの接続を確立することができ、これまで何をしたいことができました。セキュアキー(公開鍵と秘密鍵)を使用してMQに接続
しかし、私は安全なチャンネルを介して同じQManageに接続しようとしています。私はセキュリティキー(公開キーと秘密キーの両方)をMQサーバーから生成していますが、キーを組み込んでMQ接続を確立する方法がわかりません。
私はグーグルで、以下のアプローチを提案した回答を見つけましたが、うまくいきませんでした。
System.setProperty("javax.net.ssl.trustStore","path to public key");
System.setProperty("javax.net.ssl.keyStore","path to private key");
例外があります。
com.ibm.mq.MQException : MQJE001: Completion Code '2', Reason '2537'.
セキュリティキーを使用してQManagerに接続する方法については、いくつかのガイダンスまたはサンプルコードをお読みいただきたいと思います。
@JoshMc -
の下にあなたの質問への答えを見つけてください、あなたはJMS用のJavaまたはIBM MQクラスのためにIBM MQクラスを使用していますか? 私はJava用のIBM MQクラスを使用しています
使用しているjarファイルはどのバージョンのIBM MQですか?
バージョン7
あなたがに接続しようとしているキューマネージャは、MQのバージョンは何ですか?
バージョン8
あなたはMQは、クライアント証明書を検証持つようにしようとしている(SVRCONNチャネル上SSLCAUTHの値を確認してください)
はい。私は公開鍵と秘密鍵をMQ管理者がMQサーバから生成しました(私はMQサーバへのアクセス権がありません)、MQサーバに接続するためにそれを使用する必要があります。
接続しようとすると、キュー・マネージャーAMQERR01.LOGに表示されるエラーをペーストします。
私はログファイルにアクセスできません。
以下は作業コードです。 MQEnvironment:私は、セキュアでないチャネルに接続し、メッセージ
公共ボイドMQSenderを(){
MQQueueManager QMgr = null;
try {
MQEnvironment.hostname = "hostname";
MQEnvironment.channel = "UNSECURE";
//MQEnvironment.channel = "SECURE";
MQEnvironment.port = 8080;
QMgr = new MQQueueManager("QManager");
int openOptions = MQConstants.MQOO_OUTPUT;
MQQueue queue = QMgr.accessQueue("QNAME",openOptions);
MQPutMessageOptions pmo = new MQPutMessageOptions();
pmo.options = MQConstants.MQPMO_LOGICAL_ORDER | MQConstants.MQPMO_SYNCPOINT;
MQMessage message = new MQMessage();
message.writeString("TEST");
queue.put(message, pmo);
QMgr.commit();
} catch (Exception e) {
if(QMgr!=null){
try {
QMgr.backout();
} catch (MQException e1) {
e1.printStackTrace();
}
}
e.printStackTrace();
}
}
質問の下にある[編集]リンクをクリックして詳細を入力してください。 1. IBM MQ Classes for JavaまたはIBM MQ Classes for JMSを使用していますか? 2.使用しているjarファイルは、どのバージョンのIBM MQですか? 3.接続しようとしているキュー・マネージャーのMQのバージョンは何ですか。 4. MQでクライアント証明書を検証しようとしていますか(SVRCONNチャネルでSSLCAUTHの値を確認してください)。5.接続しようとすると、キュー・マネージャーAMQERR01.LOGに表示されるすべてのエラーを貼り付けます。 TLSなしで動作するコードの最小サンプルと、TLSで失敗するコードを提供します。 – JoshMc
@ JoshMc - あなたの質問に対する私の答えを見つけてください。ありがとうございました。 –
特定のバージョンを指定してください。 – JoshMc