Как получить сертификат X509 из хранилища сертификатов и сгенерировать данные XML-подписи? - PullRequest
15 голосов
/ 10 июня 2011

Как я могу получить сертификат X509 из хранилища сертификатов, а затем сгенерировать данные XML SignatureData в .net C #?

1 Ответ

38 голосов
/ 19 июля 2011

Насколько я знаю, сертификаты не сохраняются в формате XML, вы должны объединить их самостоятельно.

Это то, что вы хотите?

   static void Main(string[] args)
   {
        X509Certificate2 cer = new X509Certificate2();
        cer.Import(@"D:\l.cer");
        X509Store store = new X509Store(StoreLocation.CurrentUser);
        store.Certificates.Add(cer);

        store.Open(OpenFlags.ReadOnly);
        X509Certificate2Collection cers = store.Certificates.Find(X509FindType.FindBySubjectName, "My Cert's Subject Name", false);
        if (cers.Count>0)
        {
            cer = cers[0];
        };
        store.Close();
   }
...