I have created a patch for this issue and added it to the issue that you mentioned in this email.
The fix allows you to pass a store that is not a valid classpath entry or url string. >________________________________ > From: Geurt Schimmel <gschim...@schubergphilis.com> >To: "users@activemq.apache.org" <users@activemq.apache.org>; 'Claudio Corsi' ><clco...@yahoo.com> >Sent: Tuesday, December 11, 2012 5:35 PM >Subject: RE: SSL: could not load resource > >Disabling the keystore-code in the source and setting the values at runtime >fixes the problem, so don't think the problem is in the broker-configuration: > > <sslContext> > <sslContext > keyStore="file:${activemq.conf}/broker.ks" > keyStorePassword="xxxxxxxxx" > trustStore="file:${activemq.conf}/client.ts" > trustStorePassword="xxxxxxxxx"/> > </sslContext> > >Snippet of Producer.java: > >import javax.jms.Connection; >import javax.jms.Destination; >import javax.jms.MessageProducer; >import javax.jms.Session; >import javax.jms.TextMessage; > >import org.apache.activemq.ActiveMQSslConnectionFactory; > >public class Producer { > private static String user = "guest"; > private static String password = "password"; > > private static String url = "ssl://127.0.0.1:61616"; > private static String subject = "GUEST.FOO"; > > public static void main(String[] args) throws Exception { > ActiveMQSslConnectionFactory connectionFactory = new >ActiveMQSslConnectionFactory(url); > > >connectionFactory.setTrustStore("/opt/activemq/conf/client.ts"); > connectionFactory.setTrustStorePassword("xxxxxxxx"); > >And after removing setTrustStore() and setTrustStorePassword(), it works by >setting trustStore system properties: > >java -Djavax.net.ssl.trustStore=/opt/activemq/conf/client.ts >-Djavax.net.ssl.trustStorePassword=xxxxxx Producer > >For failover URIs, it's a known problem, not fixed in ActiveMQ 5.7: >https://issues.apache.org/jira/browse/AMQ-3785 > >But my problem is with a simple SSL URI in the broker-configuration: ><transportConnector name="openwire" uri="ssl://0.0.0.0:61616"/> > > >-----Original Message----- >From: Claudio Corsi [mailto:clco...@yahoo.com] >Sent: Tuesday, December 11, 2012 6:04 PM >To: users@activemq.apache.org >Subject: Re: SSL: could not load resource > >I do not doubt that you are using ssl but are you setting up the configuration >using the sslContext element within the configuration file? > >This allow you to set the key and trust store files and their required >passwords. > >for instance, > ><amq:broker useJmx="false" persistent="false"> <amq:sslContext> ><amq:sslContext keyStore="server.keystore" keyStorePassword="password" >trustStore="client.keystore" trustStorePassword="password"/> </amq:sslContext> ><amq:transportConnectors> <amq:transportConnector uri="ssl://localhost:61616" >/> </amq:transportConnectors> </amq:broker> > >You can also use the technique where you scramble the password and then pass >the key using an environment variable. >I do not know how this is done off the top my head but can look for a >reference. > > > >>________________________________ >> From: Geurt Schimmel <gschim...@schubergphilis.com> >>To: "users@activemq.apache.org" <users@activemq.apache.org>; 'Claudio >>Corsi' <clco...@yahoo.com> >>Sent: Tuesday, December 11, 2012 11:23 AM >>Subject: RE: SSL: could not load resource >> >>All brokers run SSL as the only communication-protocol and intercommunicate >>over SSL. >> >>-----Original Message----- >>From: Claudio Corsi [mailto:clco...@yahoo.com] >>Sent: Tuesday, December 11, 2012 5:17 PM >>To: users@activemq.apache.org >>Subject: Re: SSL: could not load resource >> >>Did you try to use the sslContext element to set your store information >>withint he broker configuration file? >> >>Here is a link http://activemq.apache.org/how-do-i-use-ssl.html. >> >> >> >>>________________________________ >>> From: Geurt Schimmel <gschim...@schubergphilis.com> >>>To: "users@activemq.apache.org" <users@activemq.apache.org> >>>Sent: Tuesday, December 11, 2012 9:54 AM >>>Subject: RE: SSL: could not load resource >>> >>>Created key- and truststores for a number of brokers, so not using the >>>packaged .ks and .ts files. >>> >>>Tried different truststores in different locations, tried a path to a >>>truststore that didn't exist, just to see what happens. In all cases, the >>>same error. Apparently, the point where the keystore is accessed is not >>>reached. Setting the same variables/values in JAVA_OPTS works: >>> >>>java -Djavax.net.ssl.trustStore=/opt/activemq/conf/client.ts >>>-Djavax.net.ssl.trustStorePassword=xxxxxxxx Producer >>> >>>-----Original Message----- >>>From: Christian Posta [mailto:christian.po...@gmail.com] >>>Sent: Tuesday, December 11, 2012 3:41 PM >>>To: users@activemq.apache.org >>>Subject: Re: SSL: could not load resource >>> >>>Is the client truststore in that location? /opt/activemq/conf/client.ts I >>>think there was some issues with packaging activemq 5.7 and some of the >>>client keystores might have been missing. >>> >>>You'll have to copy from the 5.6.0 version >>> >>> >>> >>> >>>On Tue, Dec 11, 2012 at 7:05 AM, Geurt Schimmel < >>>gschim...@schubergphilis.com> wrote: >>> >>>> Hi, >>>> >>>> My broker is running SSL only, with a 'simple' transportConnector: >>>> <transportConnector name="openwire" uri="ssl://0.0.0.0:61616"/> >>>> >>>> When trying to run a java-client: >>>> >>>> Exception in thread "main" javax.jms.JMSException: Could not create >>>>Transport. Reason: java.io.IOException: Could not load resource: >>>> /opt/activemq/conf/client.ts >>>> at >>>> >>>>org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSuppo >>>>r >>>>t.java:35) >>>> at >>>> >>>>org.apache.activemq.ActiveMQSslConnectionFactory.createTransport(Acti >>>>v >>>>eMQSslConnectionFactory.java:115) >>>> at >>>> >>>>org.apache.activemq.ActiveMQConnectionFactory.createActiveMQConnectio >>>>n >>>>(ActiveMQConnectionFactory.java:277) >>>> at >>>> >>>>org.apache.activemq.ActiveMQConnectionFactory.createConnection(Active >>>>M >>>>QConnectionFactory.java:202) >>>> at Producer.main(Producer.java:32) Caused by: >>>> java.io.IOException: Could not load resource: >>>> /opt/activemq/conf/client.ts >>>> at >>>> >>>>org.apache.activemq.ActiveMQSslConnectionFactory.getUrlOrResourceAsSt >>>>r >>>>eam(ActiveMQSslConnectionFactory.java:188) >>>> at >>>> >>>>org.apache.activemq.ActiveMQSslConnectionFactory.createTrustManager(A >>>>c >>>>tiveMQSslConnectionFactory.java:126) >>>> at >>>> >>>>org.apache.activemq.ActiveMQSslConnectionFactory.createTransport(Acti >>>>v >>>>eMQSslConnectionFactory.java:108) >>>> ... 3 more >>>> >>>> Removed the java-code that deals with the truststore and moved the >>>> functionality to JAVA_OPTS, but this is not what I want/expected. >>>> Using activemq-all-5.7-SNAPSHOT.jar. >>>> >>>> Thought this problem only occurs when using an SSL failover URI ? >>>> >>>> Thanks, >>>> Geurt >>>> >>> >>> >>> >>>-- >>>*Christian Posta* >>>http://www.christianposta.com/blog >>>twitter: @christianposta >>> >>> >>> >> >> >> > > >