У меня есть сертификат, который мне нужно использовать для доступа к веб-сервису. Проблема в том, что всякий раз, когда я пытаюсь использовать сертификат X509, он запрашивает парольную фразу (PIN). Есть ли способ предоставить парольную фразу напрямую, без того, чтобы она каждый раз появлялась в одном и том же окне?
![I hate this window](https://i.stack.imgur.com/NGaWt.png)
В сертификате используется ключ, изготовленный Oberthur Technologies, если он поможет. Вот код, который я использую для получения сертификата:
X509Store store = new X509Store("MY",StoreLocation.CurrentUser);
store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);
X509Certificate2Collection collection = (X509Certificate2Collection)store.Certificates;
if(collection.Count != 0)
userCert = collection[0]; // everything's ok up to here
А вот где я использую сертификат:
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(new Uri(url));
req.ClientCertificates.Add(userCert); // add the certificate I just got
// ...
WebResponse ret = req.GetResponse(); // here's where it asks me for my passphrase