C# список установленных сертификатов - PullRequest
0 голосов
/ 25 марта 2020

сначала я новичок в c#, так что я просто ищу в сети возможности Что я хочу получить: я хочу кнопку, которая возвращает список установленных сертификатов в личном магазине.

Я уже немного попробовал, но получаю сообщения об отсутствующих ссылках и т. Д. c. Поэтому я надеюсь, что кто-то может дать мне небольшой совет, как этого добиться.

я нашел в Интернете:

using System.Security.Cryptography.X509Certificates;
        public static X509Certificate2 selectCert(StoreName store, StoreLocation location, string windowTitle, string windowMsg)
    {

        X509Certificate2 certSelected = null;
        X509Store x509Store = new X509Store(store, location);
        x509Store.Open(OpenFlags.ReadOnly);

        X509Certificate2Collection col = x509Store.Certificates;
        X509Certificate2Collection sel = X509Certificate2UI.SelectFromCollection(col, windowTitle, windowMsg, X509SelectionFlag.SingleSelection);

        if (sel.Count > 0)
        {
            X509Certificate2Enumerator en = sel.GetEnumerator();
            en.MoveNext();
            certSelected = en.Current;
        }

        x509Store.Close();

        return certSelected;
    }

ваш

(я использую Visual Studio ...)

1 Ответ

0 голосов
/ 03 апреля 2020
  1. Добавьте ссылку на System.Security.dll для использования класса X509Certificate2UI .

  2. , который вы можете использовать foreach

if (sel.Count > 0){
  foreach(var cert in sel){
    certSelected = cert ;
  }
}
Вы можете сделать это даже сократить при использовании linq
using System.Linq;
...

if (sel.Count > 0){
  return sel.FirstOrDefault();
}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...