java - Communicating with AMQP 1.0 broker over SSL using Qpid -


i using activemq 5.8.0, supports amqp 1.0 queue broker. trying communicate java client using qpid amqp1.0 client jms library not see method of specifying keystore , truststore information.

i have configured client passing in ssl credentials via java vm options (e.g. -djavax.net.ssl.keystore), not acceptable method final solution... need able specify information within code.

i using createfromurl method generate connection url includes ssl parameters defined here, keystore information (and potentially failover params) not appear parsed url.

string connectionurl = "amqps://localhost/?brokerlist='tcp://localhost:5671?ssl='true'&key_store='c:/apache-activemq-5.8.0/conf/client.ks'&key_store_password='password'&trust_store='c:/apache-activemq-5.8.0/conf/client.ts'&trust_store_password='password'"; connectionfactoryimpl connectionfactory = connectionfactoryimpl.createfromurl(connectionurl);  

does know better way of providing security information connection?

update: right, doing digging through api have identified library uses default sslsocketfactory

see: org.apache.qpid.amqp_1_0.client.connection

final socket s; if(ssl) {     s = sslsocketfactory.getdefault().createsocket(address, port); } 

therefore, there seems no way of specifying information outside of jvm options set default values... @ least in current version of qpid client library.

is url right place put ssl parameters? should connectionfactory not getting javax.net.ssl.sslcontext , creating connection? (i'm not familiar particulars of activemq api.)


Comments