Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 62
.NET 4.x

Проверка на наличие присутствия сертификата в системе

28.11.2020, 21:35. Показов 1773. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер.Как мне узнать присутствует ли сертификат в системе в заданном каталоге сертификатов.Я написал вот такой код,но он не обнаруживает.И кстати,можно ли проверить по названию присутствие сертификата сразу во всех каталогах ?


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  public static string AntiBadSertificates()
       var x509store = new X509Store(StoreName.CertificateAuthority, StoreLocation.CurrentUser);            
            x509store.Open(OpenFlags.OpenExistingOnly);
            foreach (X509Certificate certificate in x509store.Certificates)
              {
                  return certificate.ToString();
               }
            return string.Empty;    
        }
 
public static void Main(){
 
  if (Guard.AntiBadSertificates().Contains("Charles")  || Guard.AntiBadSertificates().Contains("fiddler"))
            {
                Environment.Exit(0);
            }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.11.2020, 21:35
Ответы с готовыми решениями:

Проверка на наличие процесса в системе
Доброго времени суток! В общем сабж. У меня есть процесс, который посажен как демон. И работает с ключами start|stop|restart. Как можно...

Проверка присутствия узлов сети
Ребята, помогите с кодом, который проверяет присутствие узлов сети. Как сделать чтоб он все время работал и давал сообщение только...

Работа с плагинами (Проверка присутствия DLL)
Всем здравия и приятного времечка! Есть проект состоящий из одного EXE файла и допустим 3 библиотек. В каждой библиотеке присутствует...

7
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
29.11.2020, 02:43
Попробуйте так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
        public static void Main()
        {
            AntiBadSertificates("Charles");
        }
 
        private static void AntiBadSertificates(string name)
        {
            var storeNameList = new List<StoreName>
            {
                StoreName.Root, StoreName.Disallowed, StoreName.My, StoreName.AddressBook, 
                StoreName.AuthRoot, StoreName.CertificateAuthority, StoreName.TrustedPeople, StoreName.TrustedPublisher
            };
            foreach (var storeName in storeNameList)
            {
                try
                {
                    using (var store = new X509Store(storeName, StoreLocation.LocalMachine))
                    {
                        store.Open(OpenFlags.OpenExistingOnly);
                        if (store.Certificates.OfType<X509Certificate2>()
                            .FirstOrDefault(c => c.SubjectName.Name != null && c.SubjectName.Name.Contains(name)) != null)
                            Environment.Exit(0);
                    }
                }
                catch (ArgumentNullException)
                {
                    //
                }
            }
        }
0
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 62
29.11.2020, 12:44  [ТС]
Выскакивает вот такая ошибка,пытался самостоятельно решить,не вышло.
Миниатюры
Проверка на наличие присутствия сертификата в системе  
0
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 62
29.11.2020, 13:09  [ТС]
Также я попробовал без этого using'a выскакивает вот это ошибка:





Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
See the end of this message for details on invoking 
just-in-time (JIT) debugging instead of this dialog box.
 
************** Exception Text **************
System.Security.Cryptography.CryptographicException: The system cannot find the file specified.
 
   at System.Security.Cryptography.X509Certificates.X509Store.Open(OpenFlags flags)
   at StartLicenseCode.Form1.Form1_Load(Object sender, EventArgs e)
   at System.Windows.Forms.Form.OnLoad(EventArgs e)
   at System.Windows.Forms.Form.OnCreateControl()
   at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   at System.Windows.Forms.Control.CreateControl()
   at System.Windows.Forms.Control.WmShowWindow(Message& m)
   at System.Windows.Forms.Control.WndProc(Message& m)
   at System.Windows.Forms.Form.WmShowWindow(Message& m)
   at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
 
************** Loaded Assemblies **************
mscorlib
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
StartLicenseCode
    Assembly Version: 1.0.0.0
    Win32 Version: 1.0.0.0
    CodeBase: file:///C:/Users/Administrator/Desktop/StartLicenseCode.exe
----------------------------------------
System.Windows.Forms
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Drawing
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
System.Core
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0 built by: NETFXREL2
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.IO.Compression.FileSystem
    Assembly Version: 4.0.0.0
    Win32 Version: 4.6.1586.0
    CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.IO.Compression.FileSystem/v4.0_4.0.0.0__b77a5c561934e089/System.IO.Compression.FileSystem.dll
----------------------------------------
 
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
 
For example:
 
<configuration>
    <system.windows.forms jitDebugging="true" />
</configuration>
 
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
0
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
29.11.2020, 15:58
Quad, попробуйте без юзинга
C#
1
2
3
4
5
6
7
8
9
                try
                {
                    var store = new X509Store(storeName, StoreLocation.LocalMachine);
                    store.Open(OpenFlags.OpenExistingOnly);
                    if (store.Certificates.OfType<X509Certificate2>()
                        .FirstOrDefault(c => c.SubjectName.Name != null && c.SubjectName.Name.Contains(name)) != null) 
                        Environment.Exit(0);
                    store.Close();
                }
Добавлено через 3 минуты
Цитата Сообщение от Quad Посмотреть сообщение
Также я попробовал без этого using'a выскакивает вот это ошибка:
Само пространство имен System.Security.Cryptography.X509Certifi cates как раз нужно.
0
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 62
29.11.2020, 16:27  [ТС]
У меня это пространство имен подключено,я знаю что его надо подключать,но все равно та же ошибка что выше.
0
619 / 399 / 187
Регистрация: 28.11.2019
Сообщений: 867
29.11.2020, 17:03
Хм, а так если:
C#
1
2
3
4
5
6
7
8
9
                try
                {
                    var store = new X509Store(storeName, StoreLocation.LocalMachine);
                    store.Open(OpenFlags.OpenExistingOnly);
                    if (store.Certificates.OfType<X509Certificate>()
                        .FirstOrDefault(c => c.Subject != null && c.Subject.Contains(name)) != null) 
                        Environment.Exit(0);
                    store.Close();
                }
1
0 / 0 / 0
Регистрация: 23.05.2020
Сообщений: 62
29.11.2020, 17:41  [ТС]
Спасибо! =) уже решил проблему:


C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 public static IEnumerable<string> GetBadFiddler()
        {
            var x509store = new X509Store(StoreName.CertificateAuthority, StoreLocation.CurrentUser);
            x509store.Open(OpenFlags.OpenExistingOnly);
            foreach (X509Certificate certificate in x509store.Certificates)
            {
                if (certificate.Subject.ToString().Contains("Fiddler"))
                {
                    yield return "detected";
 
                }
 
public static void Main(){
 
  var d = Guard.GetBadCharles();
            if (d.Contains("detected") == true)
            {
                Environment.Exit(0);
            }
            var d2 = Guard.GetBadFiddler();
            if (d.Contains("detected") == true)
            {
                Environment.Exit(0);
            }
 
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.11.2020, 17:41
Помогаю со студенческими работами здесь

Проверка присутствия заданного элемента в матрице
Добрый вечер! Есть затруднения в решении задачи по MathCAD: Проверка присутствия заданного элемента в матрице Нарешал примерно...

Проверка присутствия своего html кода на стороннем сайте
как проверить присутсвие своего html кода(баннер 88х31) на стороннем сайте если код установлен о сделать ubdate в базе пометку что код...

Какие есть способы подписи драйвера на 64 битной системе кроме покупки сертификата ?
Какие есть способы подписи драйвера на 64 битной системе? Кроме покупки сертификата. Где-то натыкался на инфу про компанию, что...

Проверка валидности сертификата в ЭЦП
Доброго времени суток. Объясните, пожалуйста, как проверить подлинность публичного ключа, который пользователь получает от сервера для...

Проверка подлинности сертификата X509
Привет! Я использую протокол https для передачи данных между клиентом и сервером. На сервере имеется сертификат подписанный...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru