クライアントとキュー・マネージャーの間の TLS の有効化
このガイドでは、キュー・マネージャーとクライアント・アプリケーションの間の TLS の標準認証および相互認証を有効にする方法について詳しく説明します。 これにより、ネットワークを介してメッセージを安全に送受信できます。
バージョン 9.2.1 リビジョン 2 以上の MQ on Cloud キュー・マネージャーの場合、TLS はデフォルトで有効になっています。 以下の手順では、それより前のリビジョンのキュー・マネージャーの TLS の有効化について説明します。
標準 TLS は、クライアントが通信相手のサーバーを信頼できることを確実化します。 相互 TLS では、サーバーがクライアントを信頼できることも確実化します。 TLS は、公開鍵暗号方式を使用して、ネットワークを介するメッセージを暗号化します。 信頼できるサーバーおよび信頼できるアプリケーションに属している公開鍵は、トラストストアに保管されます。 アプリケーションおよびサーバーは、鍵ストアに独自の秘密鍵を保管します。
前提条件
このチュートリアルを進めるには、以下の前提条件を満たしていることが重要です。
- IBM MQ on Cloud キュー・マネージャー
- IBM MQ on Cloud キュー・マネージャーがまだない場合は、『はじめに』に従って作成することができます。
- 接続の詳細 (connection_info.txt ファイルにダウンロードされたキュー・マネージャーの場合)
- platformApiKey.json ファイルとしてダウンロードされた管理ユーザー名と API キー
- apiKey.json ファイルにダウンロードされたアプリケーション・ユーザー名と API キー
- これらのファイルを取得できない場合は、取得方法について、このチュートリアルの最後にある付録 1 を参照してください。
- JMS アプリケーション
- このチュートリアルを正常に完了するには、JMS アプリケーションが必要です。 このチュートリアルに適した JMS アプリケーションを確実に取得するため、付録 2 に詳述されているチュートリアルに従うことをお勧めします。
- IBM の JDK
- このチュートリアルを完了するには、Java JDK が必要です。 IBM JDK を使用することをお勧めします。 この JDK には、最新の暗号化タイプとより高水準なセキュリティーに対するサポートが含まれており、それらはこのチュートリアルに必要なものです。
java
、javac
およびikeycmd
の各ツールを使用します。 これらのコマンドがない場合は、このチュートリアルの最後にある付録 3 のステップに従って、IBM JDK をダウンロードしてインストールします。 Mac OSX でこのチュートリアルを実行する場合は、ikeycmd の代わりに keytool を使用する方法について後で説明します。
- このチュートリアルを完了するには、Java JDK が必要です。 IBM JDK を使用することをお勧めします。 この JDK には、最新の暗号化タイプとより高水準なセキュリティーに対するサポートが含まれており、それらはこのチュートリアルに必要なものです。
- IBM MQ Client
- このチュートリアルを完了するには、IBM MQ コマンド・ライン・ツール
runmqsc
がインストールされ、PATH
にエクスポートされている必要があります。 このコマンドがない場合は、IBM MQ Client をインストールすると取得できます。 このチュートリアルの最後にある付録 4 では、これを行う方法を詳しく説明しています。
- このチュートリアルを完了するには、IBM MQ コマンド・ライン・ツール
標準 (片方向) TLS によるアプリケーションの保護
標準 TLS 認証により、クライアントは信頼できるキュー・マネージャーとのみ通信できるようになり、キュー・マネージャーとクライアントの間で伝送されるメッセージも暗号化されます。
資料のこのセクションでは、最初にクライアントとキュー・マネージャーの間の既存の非セキュア接続を実際に使用してから、それを TLS 対応のセキュア接続に変換します。
キュー・マネージャーのチャネルで TLS を有効化した後、JMS アプリケーションがキュー・マネージャーと通信する前に、キュー・マネージャーを信頼するように JMS アプリケーションを構成する必要があります。 最初に、キュー・マネージャーのセキュリティー証明書の公開部分をエクスポートします。 証明書のこの部分は、公開鍵と呼ばれます。 MQ on Cloud には、Let's Encrypt R3 によって提供されるデフォルトのセキュリティー証明書が付属しています。 JMS アプリケーションでは、キュー・マネージャーの公開鍵はトラストストアに保管されます。 したがって、トラストストアを作成して、キュー・マネージャーの公開鍵をそこにインポートします。 その後、JMS アプリケーションはトラストストアを使用するように更新されます。
ステップ 1: 暗号化されていない JMS アプリケーションを実行する
キュー・マネージャーがバージョン 9.2.1 リビジョン 2 以上である場合、TLS なしで JMS を実行することはできません。セクション 5 に進んでください。
前提条件を満たしている場合、JMS アプリケーションは既に実行されています。
JMS アプリケーションは、メッセージが暗号化されていなくても実行されることを確認するために実行する必要があります。 ご使用のオペレーティング・システムに応じて、以下のコマンドを使用します。
- Windows
javac -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar com\ibm\mq\samples\jms\JmsPutGet.java
の再コンパイル- 実行
java -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar;. com.ibm.mq.samples.jms.JmsPutGet
- Linux
javac -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar com/ibm/mq/samples/jms/JmsPutGet.java
の再コンパイル- 実行
java -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar:. com.ibm.mq.samples.jms.JmsPutGet
以下は予期される出力です。
Your lucky number today is 283
SUCCESS
ステップ 2: runmqsc を介したキュー・マネージャーへの接続
キュー・マネージャーで TLS 通信が有効にされている必要があります。 リモート MQ on Cloud キュー・マネージャーに接続するために、コマンドrunmqsc
を使用します。runmqsc
は、環境変数を使用して、接続先のキュー・マネージャーの詳細を判別します。
export MQSERVER="CLOUD.ADMIN.SVRCONN/TCP/<HOSTNAME>(<PORT>)"
を指定して MQ 変数をエクスポートします。ここで、<HOSTNAME>
- これは connection_info.txt ファイル内の「hostname」です。<PORT>
- これは connection_info.txt ファイル内の「listenerPort」です。
- コンソール・ウィンドウで以下のコマンドを入力します。
runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>
説明:<ADMIN_MQ_USER>
- これは platformApiKey.json ファイル内の「mqUsername」です。<QUEUE_MANAGER_NAME>
- これは connection_info.txt ファイル内の「queueManagerName」です。-c
は、runmqsc
MQSERVER 変数を使用してリモート・キュー・マネージャーに接続する必要があることを通知します。
- runmqsc によって、パスワードの入力が求められます。これは、ガイド・ツアーの一部としてダウンロードした PlatformApiKey.json ファイル内の API キーです。
runmqsc
コマンドは、認証が成功したことを示す必要があります。 端末はブランク行を出力し、ユーザーの入力を待ちます。
ステップ 3: TLS 用のキュー・マネージャーの構成
キュー・マネージャーに接続して、片方向 TLS 通信を構成できます。
DISPLAY CHANNEL(CLOUD.APP.SVRCONN)
を実行してキュー・マネージャーの現在の状況を確認します。これにより、変更しようとしているチャネルの現在の設定が表示されます。ALTER CHL('CLOUD.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(ECDHE_RSA_AES_128_CBC_SHA256) SSLCAUTH(OPTIONAL)
を実行して、標準 TLS を有効にするようにチャネルを更新します。SSLCIPH
をECDHE_RSA_AES_128_CBC_SHA256
に設定し、SSLCAUTH
をOPTIONAL
に設定すると、相互認証の使用が無効になり、OPTIONAL と暗号仕様の設定を組み合わせて標準 TLS が有効になります。
DISPLAY CHANNEL(CLOUD.APP.SVRCONN)
を実行すると、変更が有効になったことが確認されます。end
を使用して、runmqsc
を終了します。
ステップ 4: JMS アプリケーションを再実行する
ここで、JMS アプリケーションを再実行します。 ここでは、キュー・マネージャーは TLS を実施していますが、クライアント・アプリケーションは TLS を使用するようにまだ構成されていないため、失敗します。
- Windows の場合:
- 実行
java -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar;. com.ibm.mq.samples.jms.JmsPutGet
- 実行
- Linux の場合:
- 実行
java -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar:. com.ibm.mq.samples.jms.JmsPutGet
- 実行
以下は、最後の Java バックトレースで表示される、予期されるエラーです。
Caused by: com.ibm.mq.jmqi.jmqiException: CC=2;RC=2397;AMQ9641: Remote CipherSpec error for channel 'CLOUD.APP.SVRCONN' to host ''. [3=CLOUD.APP.SVRCONN]
ステップ 5: キュー・マネージャーの公開鍵証明書をエクスポートする
JMS アプリケーションは、片方向 TLS でキュー・マネージャーを信頼する必要があります。 公開鍵は、アプリケーション・トラストストアにインポートして、JMS アプリケーションで使用できるようにするために、最初にサーバーからエクスポートする必要があります。
- 構成中のキュー・マネージャーをクリックします。これにより、このキュー・マネージャーに関するより多くの詳細が表示されます。
- 「鍵ストア」をクリックします。 これは、キュー・マネージャーでセキュリティー証明書が保管される場所です。
- 「デフォルト: qmgrcert」というラベルが付いた、デフォルトのセキュリティー証明書が表示されます。
- 証明書の公開部分をダウンロードする必要があります。 証明書の右上にある 3 つの点をクリックします。
- これにより、ツールバーが表示されます。 「パブリック証明書のダウンロード」をクリックして、証明書の公開鍵をダウンロードします。
ARM プロセッサーを備えた M1 Mac の追加ステップ:
この情報は、TLS を使用してキュー・マネージャーに接続する方法が変更されたバージョン 9.3.1 以降に関連しています。
バックグラウンドでは、 MQ MacOS ツールキットは、 x86 と Arm64の両方をサポートする汎用バイナリーとして提供されるネイティブ MQ クライアント・ライブラリーを使用します。 ツールキット自体は、汎用バイナリーで構成されていますが、暗号化のダウンストリーム依存関係を持っています。 x86 の場合、ツールキットは GSKit を使用し、 Arm64 の場合は OpenSSL を使用します。これには TLS 用の .pem 形式のトラストストアが必要です。
これは、現在、以下の環境変数をエクスポートするための追加要件があることを意味します。
export MQSSLKEYR=<path_to_your_pem_file>/qmgrcert.pem
ステップ 6: トラストストアを作成し、キュー・マネージャーの公開鍵をインポートする
以下のコマンドでは、アプリケーションがトラストストアとして使用できる鍵データベースが作成されます。 JMS アプリケーションと同じフォルダーにナビゲートし、以下のコマンドを実行します。
Windows 環境および Linux 環境の場合のみ:
ikeycmd -keydb -create -db <trustStoreName>.jks -pw <trustStorePassword> -type jks -expire 0
を実行します。<trustStorePassword>
- パスワードを選択し、後で使用するために記憶します。
- 証明書を新規トラストストアに追加するには、
ikeycmd -cert -add -db <trustStoreName>.jks -file qmgrcert.pem -label qmgrcert -pw <trustStorePassword>
を実行します。
Mac OSX 環境では、keytool -importcert -file qmgrcert.pem -alias qmgrcert -keystore <trustStoreName>.jks -storepass <trustStorePassword>
を実行します。
これで、トラストストアとして使用する鍵データベースが正常に作成され、キュー・マネージャーの公開鍵が新規トラストストアにインポートされました。
ステップ 7: TLS のトラストストアを使用するように JMS アプリケーションを構成する
新規トラストストアを使用するように JMS アプリケーションを構成する必要があります。
- テキスト・エディターで JMS アプリケーションを開き、以下のコード・セクションにナビゲートします。
try { // Create a connection factory JmsFactoryFactory ff = JMSFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER); JmsConnectionFactory cf = ff.createConnectionFactory();
- 上記のコードの直後に以下を挿入します。
cf.setStringProperty(WMQConstants.WMQ_SSL_CIPHER_SPEC,"ECDHE_RSA_AES_128_CBC_SHA256"); cf.setStringProperty(WMQConstants.WMQ_CHANNEL, "CLOUD.APP.SVRCONN"); cf.setIntProperty(WMQConstants.WMQ_CONNECTION_MODE, WMQConstants.WMQ_CM_CLIENT); System.setProperty("javax.net.ssl.trustStore", "<trustStoreName>.jks"); System.setProperty("javax.net.ssl.trustStorePassword", "<trustStorePassword>");
<trustStorePassword>
- これは、鍵データベースを保護するために作成されたパスワードと同じです。
ステップ 8: JMS アプリケーションを再実行する
これらの変更を行ったら、プログラムを保存して、以下のコマンドを実行して再コンパイルします。
- Windows
javac -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar com\ibm\mq\samples\jms\JmsPutGet.java
の再コンパイル- 実行
java -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar;. com.ibm.mq.samples.jms.JmsPutGet
- Linux
javac -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar com/ibm/mq/samples/jms/JmsPutGet.java
の再コンパイル- 実行
java -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar:. com.ibm.mq.samples.jms.JmsPutGet
今回は、プログラムによりキュー・マネージャーに対してメッセージを正常に「put」および「get」できます。
これで、ネットワークを経由するメッセージが暗号化され、クライアントはサーバーを信頼するようになりました。
相互 (双方向) TLS によるアプリケーションの保護
通常、標準 TLS は、サーバーまたは Web サイトに接続するときに使用されます。 標準 TLS を使用すると、クライアントは信頼できるサーバーに接続していることを確証できます。 さらに、相互 TLS を使用すると、サーバーは信頼できるクライアントからの接続のみを受け入れることができます。 これも、セキュリティー証明書を使用して実現されます。
このセクションを開始する前に、上記の標準 TLS セクションを完了する必要があります。 JMS クライアント・アプリケーションは、現在、標準 TLS 認証を使用してキュー・マネージャーと通信している必要があります。 これで、相互 TLS を有効にすることができます。
ステップ 1: キュー・マネージャーに接続して構成する
最初に、キュー・マネージャーを構成し、相互認証を実施する必要があります。
runmqsc -c -u <ADMIN_MQ_USER> -w60 <QUEUE_MANAGER_NAME>
を実行して、キュー・マネージャーに接続します。ここで、<ADMIN_MQ_USER>
- これは platformApiKey.json ファイル内の「mqUsername」です。<QUEUE_MANAGER_NAME>
- これは connection_info.txt ファイル内の「queueManagerName」です。
- 実行
ALTER CHL('CLOUD.APP.SVRCONN') CHLTYPE(SVRCONN) SSLCIPH(ECDHE_RSA_AES_128_CBC_SHA256) SSLCAUTH(REQUIRED)
- SSLCAUTH が「REQUIRED」に変更されていることに注意してください。 これは、トラステッド・クライアントからの通信のみを受け入れるようにキュー・マネージャーを構成しています。
ステップ 2: JMS アプリケーションを再実行する
JMS アプリケーションを再実行します。
- Windows の場合:
- 実行
java -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar;. com.ibm.mq.samples.jms.JmsPutGet
- 実行
- Linux の場合:
- 実行
java -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar:. com.ibm.mq.samples.jms.JmsPutGet
- 実行
キュー・マネージャーは相互 TLS 用に構成されていますが、クライアントは標準 TLS 用に構成されたままであるため、アプリケーションは失敗します。
ステップ 3: 鍵ストアを作成する
JMS アプリケーションで使用するプライベート証明書を保管するために、鍵ストアを作成する必要があります。 JMS アプリケーションと同じフォルダーにナビゲートし、以下のコマンドを実行します。
Windows 環境および Linux 環境の場合のみ、ikeycmd -keydb -create -db key -pw <keyStorePassword> -type jks -expire 0
を実行し、今後の使用のためにパスワードをメモします。
これで、鍵ストアとして使用する鍵データベースが正常に作成されました。
ls
を実行して、ファイル・システム内の key.jks という新規ファイルが表示されることを確認します。
ステップ 4: JMS アプリケーション用の自己署名公開鍵/秘密鍵ペアを作成する
- クライアントで使用する自己署名証明書を作成します。
- Windows 環境および Linux 環境の場合:
ikeycmd -cert -create -db key.jks -pw <keyStorePassword> -sig_alg SHA256WithRSA -label clientcert -dn "O=<Your Organisation>, C=<Your Country>"
<keyStorePassword>
- 鍵ストア・ファイルのパスワードを選択します。<Your Organisation>
- お客様の企業で使用する特定の値が指定されている場合もありますが、それ以外の場合は、独自の入力を使用します。<Your Country>
- お客様の企業で使用する特定の値が指定されている場合もありますが、それ以外の場合は、独自の入力を使用します。
- Mac OSX 環境の場合:
keytool -genkey -alias clientcert -keyalg RSA -sigalg SHA256withRSA -keysize 2048 -keystore key.jks -dname "O=<Your Organisation>, C=<Your Country>" -storepass mypass
- Windows 環境および Linux 環境の場合:
- 鍵ストアからセキュリティー証明書の公開鍵を抽出します。
- Windows 環境および Linux 環境の場合:
ikeycmd -cert -extract -db key.jks -pw <keyStorePassword> -label clientcert -target clientcert.pem
<keyStorePassword>
- これは、鍵ストアを保護するために前のステップで入力したパスワードです。
- Mac OSX 環境の場合:
keytool -export -keystore key.jks -storepass <keyStorePassword> -alias clientcert -file clientcert.cer
cat clientcert.cer | openssl x509 -inform DER >clientcert.pem
- Windows 環境および Linux 環境の場合:
ステップ 5: 相互 TLS 用の鍵ストアを使用するように JMS アプリケーションを構成する
- 任意のテキスト・エディターで JMS アプリケーションを開き、以下のコード・セクションにナビゲートします。
try { // Create a connection factory JmsFactoryFactory ff = JMSFactoryFactory.getInstance(WMQConstants.WMQ_PROVIDER); JmsConnectionFactory cf = ff.createConnectionFactory(); ...
- 上記のコードの直後に以下のコードを挿入します。
System.setProperty("javax.net.ssl.keyStore", "key.jks"); System.setProperty("javax.net.ssl.keyStorePassword", "<keyStorePassword>");
<keyStorePassword>
- これは、鍵ストアを保護するために作成したパスワードです。
ステップ 6: JMS 公開鍵をキュー・マネージャー・トラストストアにインポートする
キュー・マネージャーがクライアントを信頼するために、次のステップでは、JMS クライアントのセキュリティー証明書の公開部分をキュー・マネージャーのトラストストアにインポートします。このアクションにより、キュー・マネージャーはクライアントを信頼できるようになります。 これは、Web ユーザー・インターフェースから実行できます。
- 有効なリストからキュー・マネージャー名をクリックします。
- 以下に示すように「トラスト・ストア」タブをクリックします。
- 「証明書のインポート」ボタンをクリックします。
- 開いたウィンドウで、前のステップで抽出したパブリック証明書を参照します。
- キュー・マネージャーがセキュリティー・キャッシュをリフレッシュしてこれらの変更を反映するために、キュー・マネージャーで SSL セキュリティーをリフレッシュします。
runmqsc
コマンドを使用してキュー・マネージャーに接続し、REFRESH SECURITY TYPE(SSL)
を実行します。- コンソールは、変更の通知として
AMQ8560I: IBM MQ security cache refreshed.
を出力します。 - この操作が完了したら、
end
と入力して runmqsc をキュー・マネージャーから切断します。
セキュリティのリフレッシュを実行すると、このキュー・マネージャへのすべての接続が終了します
これで、キュー・マネージャーは相互認証を実施するように構成され、クライアントの公開鍵がキュー・マネージャーのトラストストアに追加されました。 したがって、クライアント・アプリケーションとサーバーは、暗号化チャネルを介して通信できるようになりました。
ステップ 7: JMS アプリケーションを再実行する
クライアントとサーバーの間で相互 TLS が正しく構成されていることを実証するには、通常どおり同じ Java コマンドを使用してプログラムを再コンパイルし、実行します。
- Windows
javac -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar com\ibm\mq\samples\jms\JmsPutGet.java
の再コンパイル- 実行
java -cp .\com.ibm.mq.allclient-9.0.4.0.jar;.\javax.jms-api-2.0.1.jar;. com.ibm.mq.samples.jms.JmsPutGet
- Linux
javac -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar com/ibm/mq/samples/jms/JmsPutGet.java
の再コンパイル- 実行
java -cp ./com.ibm.mq.allclient-9.0.4.0.jar:./javax.jms-api-2.0.1.jar:. com.ibm.mq.samples.jms.JmsPutGet
チュートリアルは正常に完了しました。
付録
付録 1: IBM MQ on Cloud ファイルのダウンロード
このセクションでは、ガイド・ツアー中にダウンロードされたが、その後失われた可能性のある、各種ファイルの収集方法について説明します。
Connection_info.json
キュー・マネージャー接続の詳細を含む connection_info.txt ファイルを取得するには、次のようにします。
- 表に示された関連サービスをクリックして、IBM Cloud サービス・インスタンスにログインします。
- これにより、キュー・マネージャーのビューが開きます。
- TLS を使用するように構成するキュー・マネージャーを選択して、次のウィンドウを開きます。 「接続情報」ボタンを選択します。
- このファイルを「プレーン・テキスト (ユーザーが使用するため)」の形式でダウンロードします。
PlatformApiKey.json
管理者 API キーを作成またはリセットするには、以下のようにします。
- 表に示されている関連サービスをクリックして、IBM Cloud サービス・インスタンスにログインします。
- これにより、「キュー・マネージャー」ビューが開きます。 接続情報の取得元となるキュー・マネージャーを選択します。
- 次に、**「管理」**タブを選択します。
- ここで、**「IBM Cloud API キーの再設定」**をクリックします。
- 注: この MQ ユーザー名の以前の管理 API キーは、もはや有効ではなくなります
- 注: ボタンに **「IBM Cloud API キーの作成」**と表示されている場合は、この方法で API キーが作成されていません。 **「IBM Cloud API キーの作成」**ボタンをクリックします。
- 注: この MQ ユーザー名の以前の管理 API キーは、もはや有効ではなくなります
- **「ダウンロード」**をクリックして、管理ユーザー名と API キーが含まれた platformApiKey.json をダウンロードします。
apiKey.json
新規のアプリケーション API キーを作成するには、以下のようにします。
- 表に示されている関連サービスをクリックして、IBM Cloud サービス・インスタンスにログインします。
- これにより、「キュー・マネージャー」ビューが開きます。 **「アプリケーション権限」**タブを選択します。
- 次に、AMS チュートリアルで使用するアプリケーションの横にある 3 点メニューをクリックします。
- **「新規 API キーの追加」**をクリックします。
- 注:. 既存のアプリ API キーは引き続き機能します
- 注:. 既存のアプリ API キーは引き続き機能します
- **「ダウンロード」**をクリックして、アプリ・ユーザー名と API キーを含む apiKey.json をダウンロードします。
付録 2: JMS アプリケーションのチュートリアル
以下のリンクで提供されるチュートリアルを使用して、キュー・マネージャーに接続して簡単なメッセージを送受信できる JMS アプリケーションを作成します。
この TLS チュートリアルで使用しているクラウド上のキュー・マネージャーに接続するように JMS アプリケーションを構成するために、いくつかの変数をチュートリアルで変更する必要があります。 JMS アプリケーションで変更が必要な値は以下のとおりです。
必要な値のほとんどは、 connection_info.txt ファイルにあります。これは、ガイド・ツアーに従ってダウンロードしておく必要があります。 ファイルがない場合は、付録 1 を参照してください。 ガイド・ツアーでは、「APP_USER」変数と「APP_PASSWORD」変数を作成し、「apiKey.json」というファイルにダウンロードする方法について詳しく説明します。「APP_PASSWORD」は API キーを指します。 このファイルがない場合は、付録 1 を参照してください。
- HOST = 「connection_info.txt」ファイルの「Hostname:」にリストされているもの
- PORT = 「connection_info.txt」ファイルの「Listener port:」にリストされているもの
- CHANNEL = この値は「CLOUD.APP.SVRCONN」に変更する
- QMGR = 「connection_info.txt」ファイルの「Queue manager name:」にリストされているもの
- APP_USER = 「apiKey.json」ファイルの「mqUsername:」にリストされているもの
- APP_PASSWORD = 「apiKey.json」ファイルの「apiKey:」にリストされているもの
- QUEUE_NAME = この値は変更しない
基本的な非セキュア JMS アプリケーションを作成するには、『このチュートリアル』 に従います。
付録 3: IBM SDK** のダウンロードとインストール
- JDK のダウンロード
- IBM JDK はここからダウンロードする必要があります。 ご使用のプラットフォームに適したダウンロードを選択して、インストールします。
- ダウンロードしたパッケージに応じて、それを実行してインストールする必要があります。
- 例えば、 ibm-java-x86_64-sdk-8.0-5.17.bin をダウンロードした場合は、
./ibm-java-x86_64-sdk-8.0-5.17.bin
を実行します。 - Windows の場合、JDK を含む Eclipse パッケージをダウンロードする必要があります。
- 例えば、 ibm-java-x86_64-sdk-8.0-5.17.bin をダウンロードした場合は、
- PATH への追加
- Windows の場合
set PATH=C:\IBM_Eclipse\eclipseDevelopmentPackage\ibm_sdk80\bin;%PATH%
- Linux の場合
export PATH=<install location>/ibm-java-x86_64-80/jre/bin:<install location>/ibm-java-x86_64-80/bin:$PATH
- Windows の場合
付録 4: IBM MQ クライアントをダウンロードする
runmqsc
を使用してキュー・マネージャーに接続するには、IBM クライアントが必要です。
使用可能なさまざまな MQ クライアント・バージョンの詳細については、 このリンク を参照してください。
最新のパッケージ (作成時の最新バージョンは 9.3 ) を選択します。
-
以下に示すように、 「CD」 タブの下に最新の CD リリースのダウンロード・リンクが表示され、 「LTS」 タブの下に最新の LTS 保守リリースのダウンロード・リンクが表示されます。
- CD リリース
- LTS リリース
- CD リリース
-
「その他の便利なリンク」 をクリックして、 IBM MQ 再配布可能クライアント を選択します。
-
次に示すように、パッケージの左側にあるボックスにチェック・マークを付けて、「
IBM MQC redistributable client for <Your Operating System>
」を選択します。 ファイル名には Redist が含まれているはずです。 このチュートリアルは、 Linux Ubuntu オペレーティング・システムを使用して作成されています。 -
HTTPS 経由でダウンロードすることを選択します。これにより、次のように、ブラウザーから直接クライアントをダウンロードできます。
- 注: このオプションがない場合は、別のブラウザーで試してください。
-
「続行」をクリックすると、 次に示す画面にリダイレクトされます。 ダウンロードを開始するには、ダウンロード・アイコンをクリックしてください
-
ダウンロードしたら、任意のディレクトリー
<PATH_TO_MQCLIENT_DIR>
にファイルを解凍します。tar -xvzf <IBM-MQC-Redist>.tar.gz <PATH_TO_MQCLIENT_DIR>
-
パスにコマンドを追加します。
export PATH=$PATH:<PATH_TO_MQCLIENT_DIR>/bin