Во-первых, я полный новичок в С#, поэтому я просто ищу в Интернете возможности. Что я хочу получить: мне нужна кнопка, которая извлекает список установленных сертификатов в личном магазине.
Я уже немного пробовал, но получаю сообщения об отсутствующих ссылках и т. д. Поэтому я надеюсь, что кто-нибудь может дать мне небольшой совет, как этого добиться.
То, что я нашел в Интернете, это:
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;
}
Твой
(я использую визуальную студию...)
1 ответ
Добавьте ссылку на
System.Security.dll
, чтобы использовать класс X509Certificate2UI.вы можете использовать foreach
if (sel.Count > 0){
foreach(var cert in sel){
certSelected = cert ;
}
}
- вы можете сделать его еще короче при использовании linq
using System.Linq;
...
if (sel.Count > 0){
return sel.FirstOrDefault();
}
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.
if
во втором примере. Просто выстрелитеFirstOrDefault
.