.NET Mutual SSL handshake 'Client Authentication' .NET Mutual SSL handshake 'Client Authentication' apache apache

.NET Mutual SSL handshake 'Client Authentication'


I think the content of file certificate.cer is incorrect. Extension .cer in my opinion contains only certificate but not private key.

You have to use certificate.p12 or certificate.pfx that contains also private key. These extensions represent PKCS#12 standard. There can also be whole certificate chain included in these files.

You can load a p12 file using different constructor of X509Certificate2 class. Please look at this documentation.


Thanks Pepo,

I figured this out that I was using the wrong file. I had to use the PFX file instead of CER. My issue turned out to be something else altogether. It was some security restriction of Certificate itself. Before posting this I wasn't even sure that whether I was doing the right thing.

I have created the following blog for someone in future needs any help regarding this.


The another reason for the exception "The request was aborted: Could not create SSL/TLS secure channel"is that the server may not support the security protocol type.

The another protocol type is TLS whcih is more secure than SSL3, The following code could help you

 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;