Using pfx certificate to authenticate a webrequest

N

Nelson R.

Hi,

i need to get some info from a website page that requires an
certificate.

Ive got the provided certificate installed in IE, and when accessing
the website page, it shows a window to select the client certificate
and then shows the page correctly.

Im trying to do this by code (vs2003 C# aspnet), using webrequest.

The certificate is in an pfx file and does not require password. I've
exported the file using IE to DER encoded binary X.509 (.cer), since
its the only format used by .net webrequest certificates (?)

My code:

X509Certificate certificate =
X509Certificate.CreateFromCertFile(Server.MapPath("file.cer"));
HttpWebRequest req =
(HttpWebRequest)WebRequest.Create("https://websiteurl");
req.Method="POST";
req.ClientCertificates.Add(certificate);

// ...
// here goes the request response read
// ...


I got this error:

System.Net.WebException: The underlying connection was closed: Could
not establish secure channel for SSL/TLS. --->
System.ComponentModel.Win32Exception: The message received was
unexpected or badly formatted at
System.Net.TlsStream.EndRead(IAsyncResult asyncResult) at
System.Net.Connection.ReadCallback(IAsyncResult asyncResult) --- End
of inner exception stack trace --- at
System.Net.HttpWebRequest.CheckFinalStatus() at
System.Net.HttpWebRequest.EndGetResponse(IAsyncResult asyncResult) at
System.Net.HttpWebRequest.GetResponse()....


From the error i can see that the certificate is invalid, because if i
dont use the certificate i get the same error messagem.

So... anyone knows how or point me to the right path to do a request
from an https website, using an pfx file?


Best regards,
Nelson R.
 
N

Nelson R.

Hi,

dont understand why nobody ever answer my questions about using
certificates in aspnet (this is not my first post about this).

Well, ive solved my problem. I had an pfx certificate installed and
exported to x509 format. Using webrequest and the exported certificate
i was getting an error accessing the website (https)

The problem was because my ASPNET account didnt have the rights to
access installed certificate.

I had to use a microsoft tool (winhttpcertcfg) to give access to
ASPNET account.

Tool url:
http://msdn.microsoft.com/library/d...cfg_exe__a_certificate_configuration_tool.asp


Know all works...

Hope this will help anyone who has the same problem...


Best regards,
Nelson R.
 
Joined
Sep 25, 2009
Messages
1
Reaction score
0
help on accessing https website

Hi,
How do you download the certficate..where to find the .cer file?
can you please send me the code for same.

thanks in advance.
nidhi
 
Joined
Mar 21, 2012
Messages
1
Reaction score
0
Hi,

dont understand why nobody ever answer my questions about using
certificates in aspnet (this is not my first post about this).

Well, ive solved my problem. I had an pfx certificate installed and
exported to x509 format. Using webrequest and the exported certificate
i was getting an error accessing the website (https)

The problem was because my ASPNET account didnt have the rights to
access installed certificate.

I had to use a microsoft tool (winhttpcertcfg) to give access to
ASPNET account.

Tool url:
http://msdn.microsoft.com/library/d...cfg_exe__a_certificate_configuration_tool.asp


Know all works...

Hope this will help anyone who has the same problem...


Best regards,
Nelson R.


Hi Nelson R., I want thank you for your reply... this have help me a lot!!!
Me too, I have not found relevant help on google or forum in web... :(
I have not solved my problem completly, but I have seen a way to solve grace your response!!
Have a nice day!!

Bye, Roberto
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,009
Latest member
GidgetGamb

Latest Threads

Top