別の質問を投稿しましたが、最初に達成したことを何とかできたので、今は編集しています。「SSLの使用方法」を使用して、SSL接続を受け入れるActiveMQブローカーをセットアップし、通信をテストするためのクライアントを実装しようとしました。システムプロパティを設定することでこれを実行できることがわかりました。
static {
System.setProperty("javax.net.ssl.keyStore", "/home/amq/SSL/client.ks");
System.setProperty("javax.net.ssl.keyStorePassword", "password");
System.setProperty("javax.net.ssl.trustStore", "/home/amq/SSL/client.ts");
}
私が抱えていた問題は、キーストア/トラストストアの作成とブローカー証明書のエクスポートにありました。.ksファイルと.tsファイルを削除し、「SSLの使用方法」で説明されているようにすべてをやり直したところ、機能しました。
私の新しい質問は、クライアントのキーストアを作成したり、ブローカーの証明書をインポートしたりせずに、どうすれば接続を確立できるかということです。
ブローカーから送られてきた証明書を受け入れる方法を探しています。このリンクで、URIオプションを設定する方法を見つけました。
ssl://localhost:61617?transport.acceptInvalidBrokerCert=true
しかし、それは私にとってはうまくいきません。URIまたはURL文字列に「?transport.acceptInvalidBrokerCert = true」を追加した瞬間から、メソッドは機能しなくなり、接続を確立できなくなります。
ブローカーの証明書をインポートせずに、つまり無効な証明書を受け入れることなく、SSLを使用してActiveMQブローカーに接続するJavaまたはC ++クライアントの例を誰かに教えてもらえますか?