Для одного из моих приложений я разрабатываю TeleCashAPI (интернет-платежный шлюз). Мне нужно отправлять клиентский сертификат (p12) при каждом вызове.
До сих пор я загружал сертификат клиента через файловую систему.
public void AddCertificate(X509Certificate certificate)
{
WebRequest.ClientCertificates.Add(certificate);
}
Теперь мой клиент хочет, чтобы он был более общим. Он должен быть установлен на клиентской машине (которая разговаривает с этим API). Я все еще знаю, что такое пароль, но я не знаю сертификат.
Как я могу получить Сертификат?
Из этого ответа я вижу как я могу получить весь список:
X509Store store = new X509Store("My");
store.Open(OpenFlags.ReadOnly);
foreach (X509Certificate2 mCert in store.Certificates){
//TODO's
}
Но как найти именно тот сертификат, который мне нужен? Это вообще возможно?
Я действительно новичок в этой теме.
Чтобы быть немного более ясным:
Сертификат устанавливается двойным кликом. Я не могу контролировать этот процесс. Моя задача, найти сертификат, который для TeleCash.