Hi Albert, Could you submit a jira for this issue? http://qpid.apache.org/issues.html
Thanks, Chuck ----- Original Message ----- > From: "Albert Pomortsev" <[email protected]> > To: [email protected] > Sent: Tuesday, October 29, 2013 6:48:19 PM > Subject: RE: SSL support in org.apache.qpid.messaging .NET API > > Hi Gordon, > > Yes, I configured the certificate and all relevant options on the broker. > I've finally managed to make the .NET helloworld example work, to a degree > though: it connects, sends and receives the message, but crashes on exit > with access violation in Connection destructor in > qpid\cpp\bindings\qpid\dotnet\src\Connection.cpp: > > // Finalizer > Connection::!Connection() > { > if (NULL != nativeObjPtr) > { > msclr::lock lk(privateLock); > > if (NULL != nativeObjPtr) > { > delete nativeObjPtr; // <= exception here, line 191 > nativeObjPtr = NULL; > } > } > } > > Attempted to read or write protected memory. This is often an indication that > other memory is corrupt. > > at qpid.messaging.Connection.{dtor}(Connection* ) > at qpid.messaging.Connection.__delDtor(Connection* , UInt32 A_0) > at Org.Apache.Qpid.Messaging.Connection.!Connection() > at Org.Apache.Qpid.Messaging.Connection.Dispose(Boolean A_0) > at Org.Apache.Qpid.Messaging.Connection.Finalize() > > Looks like deletion of an already disposed object to me. > > When I try running qpid-perftest as described in documentation I'm also > getting access violation. From the trace it looks like some communication is > going on between the tool and the broker but in the end it crashes without > reporting anything: > > D:\Projects\QPid\trunk\qpid\build\src\tests\Debug>qpid-perftest --count 10000 > -P ssl --port 5671 --broker broker.fqdn -t > 2013-10-29 15:32:35 [Client] debug Created IO thread: 0 > 2013-10-29 15:32:35 [Network] debug TCPConnector created for 0-10 > 2013-10-29 15:32:35 [Client] info Set TCP_NODELAY > 2013-10-29 15:32:35 [Security] debug SslConnector created for \x00- > > 2013-10-29 15:32:35 [Network] debug RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: INIT(0-10) > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionStartBody: > server-properties={qpid.federation_tag:V2:36:str16(df1f3306-21fa-4282-a9b8-fc3979f62709)}; > mechanisms=str16 > {V2:9:str16(ANONYMOUS), V2:5:str16(PLAIN)}; locales=str16{V2:5:str16(en_US)}; > }] > 2013-10-29 15:32:35 [Security] debug WindowsSasl::start(ANONYMOUS PLAIN) > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionStartOkBody: > client-properties={qpid.client_pid:F4:int32(7536),qpid.client_ppid:F4:int32(0),qpid.client_process:V2:0:s > tr16(),qpid.session_flow:F4:int32(1)}; mechanism=PLAIN; response=xxxxxx; > locale=en_US; }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionTuneBody: channel-max=32767; max-frame-size=65535; heartbeat-min=0; > heartbeat-max=0; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionTuneOkBody: channel-max=32767; max-frame-size=65535; heartbeat=0; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionOpenBody: virtual-host=; capabilities=void{}; insist=1; }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionOpenOkBody: known-hosts=str16{}; }] > 2013-10-29 15:32:35 [Client] debug Known-brokers for connection: > 2013-10-29 15:32:35 [Client] info Connection > [10.26.38.125:20730-broker.fqdn:5671] connected to ssl:alado-alb > ertp2.opentext.net:5671 > 2013-10-29 15:32:35 [Client] debug Connection > [10.26.38.125:20730-broker.fqdn:5671] no security layer in plac > e > 2013-10-29 15:32:35 [Broker] debug SessionState::SessionState .: 00A18D50 > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionAttachBody: name=aafa000f-2453-4ce6-9412-1add9be05c23; }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionAttachedBody: name=aafa000f-2453-4ce6-9412-1add9be05c23; }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCommandPointBody: command-id=0; command-offset=0; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionRequestTimeoutBody: timeout=0; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCommandPointBody: command-id=0; command-offset=0; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > ueDeclareBody: queue=qpid-perftest_pub_start; alternate-exchange=; > arguments={}; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > uePurgeBody: queue=qpid-perftest_pub_start; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Exe > cutionSyncBody: }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionTimeoutBody: timeout=0; }] > 2013-10-29 15:32:35 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCompletedBody: commands={ [0,2] }; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > ueDeclareBody: queue=qpid-perftest_pub_done; alternate-exchange=; > arguments={}; }] > 2013-10-29 15:32:35 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > uePurgeBody: queue=qpid-perftest_pub_done; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Exe > cutionSyncBody: }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCompletedBody: commands={ [0,5] }; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > ueDeclareBody: queue=qpid-perftest_sub_ready; alternate-exchange=; > arguments={}; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > uePurgeBody: queue=qpid-perftest_sub_ready; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Exe > cutionSyncBody: }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCompletedBody: commands={ [0,8] }; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > ueDeclareBody: queue=qpid-perftest_sub_done; alternate-exchange=; > arguments={}; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > uePurgeBody: queue=qpid-perftest_sub_done; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Exe > cutionSyncBody: }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCompletedBody: commands={ [0,11] }; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > ueDeclareBody: queue=qpid-perftest0; alternate-exchange=; > arguments={qpid.max_count:F4:int32(0),qpid.max_size:F4:int32(0)}; } > ] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Que > uePurgeBody: queue=qpid-perftest0; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Exe > cutionSyncBody: }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionCompletedBody: commands={ [0,14] }; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionDetachBody: name=aafa000f-2453-4ce6-9412-1add9be05c23; }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=1; {Ses > sionDetachedBody: name=aafa000f-2453-4ce6-9412-1add9be05c23; code=0; }] > 2013-10-29 15:32:36 [Network] trace SENT > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionCloseBody: reply-code=200; reply-text=OK; }] > 2013-10-29 15:32:36 [Network] trace RECV > [[10.26.38.125:20730-broker.fqdn:5671]]: Frame[BEbe; channel=0; {Con > nectionCloseOkBody: }] > 2013-10-29 15:32:36 [System] debug Exception constructed: Closed by client > > ERROR: ACCESS VIOLATION > > D:\Projects\QPid\trunk\qpid\build\src\tests\Debug> > > Thanks, > Albert. > > -----Original Message----- > From: Gordon Sim [mailto:[email protected]] > Sent: Tuesday, October 29, 2013 1:57 AM > To: [email protected] > Subject: Re: SSL support in org.apache.qpid.messaging .NET API > > On 10/29/2013 12:18 AM, Albert Pomortsev wrote: > > Hello qpid developers and users. > > > > I'm finding it impossible to use SSL from .NET messaging API. I built > > qpid/proton from trunk sources on Windows. I can successfully run the > > broker and, for example, run the csharp.example.helloworld .NET sample > > using both amqp 0-10 and 1.0 protocols. But configuring the client > > connection for SSL fails. By SSL I mean only server authentication and > > encryption, not client authentication. I was planning to use PLAIN SASL > > authentication with SSL. > > > > The C++ broker handbook states (p.42): > > > > 3. To open an SSL enabled connection in the Qpid Messaging API, set the > > protocol connection option to ssl. > > > > This does not work. I'm receiving the exception "Unsupported protocol: > > ssl". Additionally, this option clashes with the option "protocol:amqp1.0" > > making using them together apparently impossible. > > I tried "transport:ssl". With amqp 0-10 (no "protocol" option) I'm getting > > "Failed to connect (reconnect disabled)" exception. With amqp1.0 > > ("protocol:amqp1.0") I'm getting "No such transport: ssl" exception. > > The 'transport' option is what is needed. The protocol option refers to AMQP > 1.0 v AMQP 0-10 as you state. > > > Can someone please explain: > > > > > > - Is SSL even supported in .NET messaging API? > > It should be for 0-10, but unfortunately it is not yet for 1.0 on windows. > > > - If yes, what is the correct way to enable it? > > There is a text document in the root of the cpp source tree: > https://svn.apache.org/repos/asf/qpid/trunk/qpid/cpp/SSL, which in the second > half describes how to get windows working from c++ and I believe the same > configuration options will work for .NET (using 0-10). > > Did you already specify these? If so, were there any errors on the broker > side when connecting over 0-10 and ssl? The error you got there is a fairly > generic one. Turning up the log level on the client may also help. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] For additional > commands, e-mail: [email protected] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
