私はsslを利用したブローカーに接続するためにjava activemqクライアントソフトウェアに取り組んでいますが、プログラムでトラストストアを設定しています:
// Configure the secure connection factory.
ActiveMQSslConnectionFactory connectionFactory = new ActiveMQSslConnectionFactory(url);
connectionFactory.setTrustStore("/conf/client.ts"); // truststore which includes the certificate of the broaker
connectionFactory.setTrustStorePassword("password");
ここに示されているように。ただし、それは
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX パスの構築に失敗しました エラー
QA Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?の応答に従います。ブローカ証明書を Java インストールの信頼できる証明書に追加することで、クライアントをブローカに正常に接続できました。
ただし、この場合、アプリケーションを使用する各ユーザーが各自の Java ディストリビューションに証明書をインポートするのではなく、クライアント アプリケーションが既にブローカー証明書を持っていることを望んでいます。できれば ActiveMQSslConnectionFactory クラスを使用してそれを行うにはどうすればよいですか?