*Software Versions*
Java Broker 6.1.1
qpid-jms-client 0.20.0

*When my Authentication Provider assigned to my AMQP port
is PlainPasswordFile then i am able to connect just fine:*

*RemoteURI *amqp://<hostname>:5672?amqp.vhost=default

[AmqpProvider:(1):[amqp://<hostname>:5672]] INFO
org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth
was: SASL-SCRAM-SHA-256
[AmqpProvider:(1):[amqp://<hostname>:5672]] INFO
org.apache.qpid.jms.JmsConnection - Connection
ID:d03c3e30-63af-42bd-959b-a673c6da798f:1 connected to remote Broker:
amqp://<hostname>:5672
Message sent: {"key1":"value1"}


*However when my Authentication Provider assigned to my AMQP port is set
to Base64MD5PasswordFile or SCRAM-SHA-256 i get this error on the client:*

*RemoteURI *amqp://<hostname>:5672?amqp.vhost=default

[AmqpProvider:(1):[amqp://<hostname>:5672]] INFO
org.apache.qpid.jms.sasl.SaslMechanismFinder - Best match for SASL auth
was: null
[main] ERROR org.apache.qpid.jms.JmsConnection - Failed to connect to
remote at: amqp://<hostname>:5672?amqp.vhost=default

javax.jms.JMSSecurityException: Could not find a suitable SASL mechanism
for the remote peer using the available credentials.

at
org.apache.qpid.jms.provider.amqp.AmqpSaslAuthenticator.handleSaslInit(AmqpSaslAuthenticator.java:145)
at
org.apache.qpid.jms.provider.amqp.AmqpSaslAuthenticator.authenticate(AmqpSaslAuthenticator.java:92)
at
org.apache.qpid.jms.provider.amqp.AmqpProvider.processSaslAuthentication(AmqpProvider.java:925)
at
org.apache.qpid.jms.provider.amqp.AmqpProvider.processUpdates(AmqpProvider.java:909)
at
org.apache.qpid.jms.provider.amqp.AmqpProvider.access$1800(AmqpProvider.java:93)
at
org.apache.qpid.jms.provider.amqp.AmqpProvider$18.run(AmqpProvider.java:784)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

I presume there is some sort of config i am missing. Does this ring a bell?
Is there a direction i could be pointed in? maybe it has to do with the URL
pattern my client is using in the connection factory? or maybe i just
completely misunderstand how i should be configuring SASL mechanisms.

thank you

Reply via email to