Укажите клиентские сертификаты в HttpWebRequest в .NET Compact Framework 3.5 - PullRequest
2 голосов
/ 14 декабря 2009

Ранее я пытался использовать клиентский сертификат в .NET CF 2.0 (см. здесь ), и в конечном итоге мне пришлось отказаться. Сейчас я нахожусь на .NET CF 3.5, которая поддерживает свойство ClientCertificates объекта HttpWebRequest. Однако я не могу понять, как создать экземпляр объекта X509Certificate или X509Certificate2 с помощью файла pfx. На полной основе я могу просто сделать что-то вроде new X509Certificate2(filename, password). Если я пытаюсь создать объект с байтами, считанными из файла .pfx, я получаю исключение, говорящее «.NET CF 3.5 не поддерживает файлы pfx». Итак, как мне указать сертификат клиента с закрытым ключом для использования со свойством ClientCertificates?

1 Ответ

1 голос
/ 23 декабря 2009

В соответствии с MDSN в компактной платформе доступно / поддерживается только 2 конструктора:

http://msdn.microsoft.com/en-us/library/system.security.cryptography.x509certificates.x509certificate2.x509certificate2.aspx

Поддерживаемые конструкторы .NET CF имеют маленький значок устройства рядом с ними в первом столбце.

Это:

X509Certificate2(array<Byte>[]()[])

http://msdn.microsoft.com/en-us/library/ms148413.aspx

X509Certificate2(IntPtr)

http://msdn.microsoft.com/en-us/library/ms148414.aspx

...