Hi Marcello,

Supplementing Jakub's reply, the source for the
Org.Apache.Qpid.Messaging dll is written in C++/CLI (not C#).  You can
find it in the C++ Multiple component package or the full C++ source
release.  It will be in:

  qpidXX/cpp/bindings/qpid/dotnet/src

It is probably safer using the full source release if you are building
from scratch.  Look at the README-winsdk.txt file.  Since the C++/CLI
code relies on the underlying pure native C++ libraries to handle the
certificates, you should first verify that a pure C++ test program
works as you expect first.

Cliff

On Mon, Oct 29, 2012 at 6:14 AM, Jakub Scholz <ja...@scholz.cz> wrote:
> Hi Marcello,
>
> The QPID-3914 JIRA delivers the SASL EXTERNAL support. You will need to
> download the patch and apply it to the source codes and build your own
> versionn of the library.
>
> If you follow the guide for building the C++/.NET library on Windows, which
> is somewhere in the SVN trunk, it is fairly simple.
>
> Since the QPID-3914 is not part of the SVN, but just an patch which is not
> committed, you will probably not find binaries for download which contain
> the SASL EXTERNAL patch ...
>
> Regards
> Jakub
> Dne 23.10.2012 14:11 "Marcello" <mf...@euro-finance-systems.fr> napsal(a):
>
>> Hi,
>>
>> I’m trying to connect to a Red Hat MRG 2.0 (Qpid 0.10) broker (compliant
>> with AMQP 0-10).
>>
>> My client application is a .Net Windows application and we use the Apache
>> QPid 0.18 C++/C# module (compliant with AMQP 0-10), provided to us by
>> Riverace ( http://www.riverace.com/qpid/downloads.htm
>> <http://www.riverace.com/qpid/downloads.htm>   ).
>>
>> In order to be connected and authenticate us to the remote broker we have
>> currently referenced the .Net assembly org.apache.qpid.messaging.dll found
>> in the installation package, which encapsulates the Apache QPid C++ native
>> component. You will find the code source below.
>>
>> Any connection attempt fails and a QpidException is raised « Failed to
>> connect (reconnect disabled) ». Stack trace :
>>   .Apache.Qpid.Messaging.Connection.Open() dans
>> c:\qpid\0.18\qpid\cpp\bindings\qpid\dotnet\src\connection.cpp:ligne 243
>>
>> The broker and the client run on different machines connected to the same
>> VPN network, the client and the broker are directly connected on the same
>> subnet.
>>
>> The authentication process to the broker is done via a SASL EXTERNAL
>> mechanism, that uses SSL either for encryption and authentication. The
>> authentication process uses certificates registered on the Windows machine
>> where the client is running.
>>
>> On the Windows client machine the public broker certificate is currently
>> registered on the “Root” store as well as the client certificate
>> (self-signed and created by us) is currently registered on the “My” store.
>> The public part of the client certificate has been correctly registered on
>> the broker side.
>>
>> Our own .Net client set the following connection properties:
>>
>>      using Org.Apache.Qpid.Messaging;
>>
>>      ...
>>
>>      Connection connection = null;
>>      connection = new Connection("amqp:ssl:<broker address>:<broker ssl
>> port>");
>>
>>      connection.SetOption("reconnect", true);
>>      connection.SetOption("transport", "ssl");
>>      connection.SetOption("reconnect_limit", <number of maximal attempts>);
>>      connection.SetOption("reconnect_urls", "amqp:ssl:<broker
>> address>:<broker ssl port>");
>>
>>      // the following option, set username, is mandatory when an EXTERNAL
>> sasl_mechanisms is provided
>>      connection.SetOption("username", "<client certificate>");
>>      connection.SetOption("sasl_mechanisms", "EXTERNAL");
>>
>>      connection.Open();
>>
>> When the Open command is executed the client attempts to connect to the
>> default SSL port of the broker without success, raising the QpidException.
>>
>> Riverace ( http://www.riverace.com/ <http://www.riverace.com/>   ), where
>> we
>> get the Apache Qpid component, warned us that the  Apache QPid 0.18 C++/C#
>> does not have native support for client-side certificate authentication.
>>
>> Then we have probably to build our own Apache QPid C++ component, starting
>> from the source available onto the Apache Qpid site, after having applied
>> some enhancements to the SSL handling for the Qpid C++ code.
>>
>> I would be glad if someone could answer the questions below:
>> 1.            The SSL enhancement I need is it provided applying the patch
>> «
>> SSL Client Authentication support for the Windows C++ client »,
>> https://issues.apache.org/jira/browse/QPID-3914
>> <https://issues.apache.org/jira/browse/QPID-3914>   ?
>> 2.            The only .net source package available on the Apache QPid
>> site
>> ( http://qpid.apache.org/download.html ) is « C# (.NET, WCF) WCF channel
>> (C++ Broker Compatible) »  and the assembly we are currently using the
>> org.apache.qpid.messaging dll is not available anymore or I am not able to
>> found it, do you know where I can find the org.apache.qpid.messaging .Net
>> source code ?
>> 3.            Do you know where I can find a QPid component installation
>> package that includes SSL support with client-side certificate
>> authentication and compliant with AMQP 0-10 standard? Maybe The Red Hat MRG
>> Messaging (  http://www.redhat.com/mrg/messaging/
>> <http://www.redhat.com/mrg/messaging/>   ) includes this feature ?
>>
>> Thanks in advance for your support
>>
>> Marcello
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://qpid.2158936.n2.nabble.com/QPid-0-18-C-C-client-side-certificate-authentication-QpidException-tp7583696.html
>> Sent from the Apache Qpid users mailing list archive at Nabble.com.
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
>> For additional commands, e-mail: users-h...@qpid.apache.org
>>
>>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to