On 08/26/2015 01:40 PM, Andreas Welchlin wrote:
Hello,
I tried to connect to a AMQP Broker via SSL using AMQP 0.10.
I used C++ and the Qpid Messaging API version 0.28.
It seems like I set the SASL mechanism in a wrong way.
I tried the following:
const char* QPID_OPTION_TRANSPORT = "transport";
const char* QPID_OPTION_SASL_MECHANISMS = "sasl_mechanisms";
mConnection = new Connection("amqp:ssl:<ipaddress>");
mConnection->setOption(QPID_OPTION_SASL_MECHANISMS, "EXTERNAL");
mConnection->setOption(QPID_OPTION_TRANSPORT, "ssl");
mConnection->open();
The logfile says:
Starting connection, urls=[amqp:ssl:<ipaddress>]
Trying to connect to amqp:ssl:<ipaddress>...
Created IO thread: 0
SslConnector created for 0-10
Connecting: 90.162.253.101:10170
RECV [[172.17.97.139:46893-<ipaddress>]]: INIT(0-10)
Exception constructed: Desired mechanism(s) not valid: True (supported:
EXTERNAL) (qpid/client/ConnectionHandler.cpp:260)
The problem here seems to be that the desired mechanism is somehow being
treated as a boolean, which is converted to "True" when converting to a
string.
I can't seem to reproduce this using the code you have above, even
against 0.28. What compiler are you using?
(One unrelated point is that you don't need to use new and explicitly
have a pointer to the connection. The Connection class is a handle that
allows you to pass it around and internally it maintains the necessary
reference counting).
Closing connection due to Desired mechanism(s) not valid: True
(supported: EXTERNAL) (qpid/client/ConnectionHandler.cpp:260)
Exception constructed: Desired mechanism(s) not valid: True (supported:
EXTERNAL) (qpid/client/ConnectionHandler.cpp:260)
Exception constructed: Desired mechanism(s) not valid: True (supported:
EXTERNAL) (qpid/client/ConnectionHandler.cpp:260)
What am I doing wrong? Would it help if I set the SASL mechanism like this:
mConnection = new Connection(brokerUrl,
"{transport:ssl,sasl-mechanism:EXTERNAL}");
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]