We are using SecureBlack box .NET library to make SSL/TLS connection from WinCE. We are using .NET 3.5 CF. What is the correct process to do client authentication with SecureBlackbox library? We are connecting to a server which mandates client authentication. What we have done is register for the OnCertificateNeededEx event in the TElSecureClient class. When we get the callback we are passing in the .pfx file from our local disk(using password). The certificate is returned in the callback, but we are getting multiple callbacks for this method. There was logic in the samples to send it once and we added that to send the certificate once. But the connection to the server does not succeed and its closed. The OnOpenConnection event handler is never called. So is there anything needed to successfully establish connection with client authentication?

I’ve noticed there is no Support Access Ticket linked to your user account on EldoS site. Technical Support is provided to customers with the linked Support Access Ticket. You will find your Support Access Ticket together with all the details about how to use it in the registration e-mail that we’ve sent to you upon the purchase.

If you are evaluating the product and don't have a license yet, please let us know and then you can have support according to Basic support level. Basic support level includes answering basic technical questions that appear during product evaluation period. We also offer Premium support for a purchase from https://www.eldos.com/support/calc.php . You can use Premium Support to get higher level of assistance during your evaluation of our products.

I modified the sample in SSLBlackbox\Desktop\Server\Chat\Client to connect to the server with the certificate i had for the server(which works in a standard Microsoft .NET library when making SSL/TLS 1.1 connection) and it does not connect successfully.

If you have multiple certificates in the PFX, there's a good chance that you provide the wrong certificate via OnCertificateNeededEx. There's a simpler approach available --

1) load the PFX to the instance of TElMemoryCertStorage class using its LoadFromStreamPFX method
2) assign this TElMemoryCertStorage to ClientCertStorage property of the SSL/TLS client.
3) comment out the code in OnCertificateNeededEx event handler.

If I understand it right, ElSecureClientSend() is the OnSend event handler implemented by you. The problem is that OnSend and OnReceive are blocking events - you must send the data and/or grab them to your buffer in the event handler. In your case this means that you should not send the original buffer (because it will be overwritten), but make a copy of the data and send that copy. It would be even better if you completed sending while in ElSecureClientSend() method.

Without this change it's hard to say, what happens in your data flow. You need to fix data sending first, then we can investigate other aspects.

We use cookies to help provide you with the best possible online experience. By using this site, you agree that we may store and access cookies on your device. You can find out more about and set your own preferences here.