I am trying to implement HTTP communication authenticated by client certificate. When sending an HTTP request on “normal” (i.e. not Compact) .NET Framework, it’s quite simple:
HttpWebRequest request = ...;
string certificatePath = ...;
string certificatePassword = ...;
request.ClientCertificates.Add(
new X509Certificate(certificatePath, certificatePassword));
However, on Compact Framework 3.5, X509Certificate has only one constructor which accepts byte array and nothing else. I suppose that I should read a certificate file and pass its contents into that byte array, but what about the password? How should I specify it on Compact Framework?
I did not find any way to use
X509Certificateand password.In the end, I’ve decided to use
X509Storeand grab certificates from there. This will make deployment a bit more difficult then originally anticipated, but at least it’s doable 🙂