views:

37

answers:

2

Hi,

I'm developing a socket server using C# .NET. I'm using the async model provided by the SocketAsyncEventArgs class, because it must be a high performance server to support many connections in short periods of time. Next, I want to secure the communication between clients and server, and I think I could use SSL.

Is there any way of using SSL with the SocketAsyncEventArgs model? I know .NET has the SslStream class for SSL securing, but I need to use SocketAsyncEventArgs for high performance.

Is it possible to use SSL in an upper level, without implementing it in the server code?

Thanks in advance.

A: 

You can take third-party implementation of SSL/TLS protocol, such as our SecureBlackbox, and use it with any transport, including .NET Sockets in asynchronous mode. SSL server component of SecureBlackbox doesn't have it's own socket, instead it fires events, in whose handlers you write your socket-related code. This way you an plug any transport, even non-socket one.

Eugene Mayevski 'EldoS Corp
A: 

At this moment I have developed the server socket using SocketAsyncEventArgs, and I don't want to change the programming model for performace reasons. I think using SecureBlackbox supposes recoding my server using that library, and initially that's not the idea.

What I really want to know if there is a way to use SSL with SocketAsyncEventArgs model. If it isn't possible, I would be interested in knowing other high level alternatives (tunneling?) before recoding my server.

JohnC
You should use "add comment" instead of posting a new answer if you want to post a reply (in this case to my comment). Yes, some recoding would be required, but this might be your only option.
Eugene Mayevski 'EldoS Corp