When we connect to a secure site from a browser, the web server and the browser are involved in the SSL handshaking process to agree a session key which is used for encryption.
This means all the standard browsers are equipped with functionalities to handle SSL handshaking and encryption/decryption process.
I have got a C# based Windows application which will run in a normal PC at a client location using a common broadband. This client is provided with a digital certificate (public/ private key pair) for its purpose. This application will access a service at the server end (ebMS messaging). The access is to be through SSL at the network layer. (Message level security is separately implemented through signatures. And this is not an issue)
The question is what we need to implement in the Windows Application so that it can talk to the server using SSL. And how to implement that using C#.