Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей *  
#11 Оставлено : 14 апреля 2023 г. 14:39:14(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 13,320
Мужчина
Российская Федерация

Сказал «Спасибо»: 549 раз
Поблагодарили: 2207 раз в 1722 постах
Цитата:
-list -container '\\.\HDIMAGE\blablabla'

в этом контейнере есть сертификат, его можно вручную установить (командой или через gui Инструменты КриптоПРО - csptools

либо сразу:
установить сертификаты из найденных контейнеров:
Цитата:
csptest -absorb -certs -autoprov
Техническую поддержку оказываем тут
Наша база знаний
Offline CyberWatcher  
#12 Оставлено : 14 апреля 2023 г. 14:57:41(UTC)
CyberWatcher

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.04.2023(UTC)
Сообщений: 42
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 12 раз
Автор: Андрей * Перейти к цитате
StoreName.My - личное хранилище
StoreLocation.CurrentUser - текущего пользователя

certmgr -list -container '\\.\HDIMAGE\blablabla' - вывод списка сертификатов из указанного контейнера, это другая вообще сущность.


Итого:
а сертификат установлен в хранилище?



certmgr -list -cert -store uMy
показывает?


Сертификат установлен. Данная вами команда выводит этот сертификт.
Offline CyberWatcher  
#13 Оставлено : 14 апреля 2023 г. 15:01:54(UTC)
CyberWatcher

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.04.2023(UTC)
Сообщений: 42
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 12 раз
Автор: Андрей * Перейти к цитате
а зачем обращение к [0] ?
если нет сертификата с указанным номером - будет ошибка, что и показано выше.

Цитата:
foreach (var crt in storeCerts)
{
Console.WriteLine("crt.FriendlyName = " + crt.FriendlyName);
}
var cert = store.Certificates.Find(X509FindType.FindBySerialNumber, "0x037409F20085AF8D9847DA45A4F9F40AD0", false)[0];
Console.WriteLine("cert = " + cert.FriendlyName);



Сертификат с указанным серийным номером есть. Он кстати и выводится по команде certmgr -list -cert -store uMy

Он там один.
Offline CyberWatcher  
#14 Оставлено : 14 апреля 2023 г. 15:05:04(UTC)
CyberWatcher

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.04.2023(UTC)
Сообщений: 42
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 12 раз
certmgr -list -cert -store uMy
Certmgr 1.1 (c) "КРИПТО-ПРО", 2007-2022.
Программа для работы с сертификатами, CRL и хранилищами.
=============================================================================
1-------
Издатель : ОГРН=342324, ИНН ЮЛ=34232432, C=RU, S=77 Москва, L=Москва, STREET="ул", OU=Удостоверяющий центр, O="ООО ""ТАКСКОМ""", CN="ООО ""ТАКСКОМ"""
Субъект : ИНН=432432, SN=Имя, G=Имя Отчество, T=Руководитель отдела разработки ПО, STREET="УЛ.", CN="ООО ""НАШЕ ВСЕ""", O="ООО ""НАШЕ ВСЕ""", L=г. Москва, S=77 г. Москва, C=RU, E=a@a.ru, ИНН ЮЛ=3243, ОГРН=4354, СНИЛС=4535
Серийный номер : 0x037409F20085AF8D9847DA45A4F9F40AD0
SHA1 отпечаток : 18597853358a96316753b3418a33355567555728
Идентификатор ключа : ecad411a1c751f7e06a86934a86959c9ea563e18
Алгоритм подписи : ГОСТ Р 34.11-2012/34.10-2012 256 бит
Алгоритм откр. кл. : ГОСТ Р 34.10-2012 256 бит (512 бит)
Выдан : 09/01/2023 14:31:14 UTC
Истекает : 09/01/2024 14:41:14 UTC
Встроенная лицензия : КриптоПро CSP
Ссылка на ключ : Есть
Контейнер : HDIMAGE\\a.000\FA61
Имя провайдера : Crypto-Pro GOST R 34.10-2012 KC1 CSP
Инфо о провайдере : Тип провайдера: 80, тип ключа: 1, флаги: 0x0
Тип идентификации : При личном присутствии
OCSP URL : http://ocsp1.taxcom.ru/ocsp1/ocsp.srf
URL сертификата УЦ : http://crl.taxcom.ru/d1e...bcf936a09ae181e9f36b.crt
URL списка отзыва : http://crl.taxcom.ru/d1e...bcf936a09ae181e9f36b.crl
Назначение/EKU : 1.3.6.1.5.5.7.3.2 Проверка подлинности клиента
1.3.6.1.5.5.7.3.4 Защищенная электронная почта
=============================================================================

[ErrorCode: 0x00000000]

Отредактировано пользователем 14 апреля 2023 г. 15:11:19(UTC)  | Причина: Не указана

Offline CyberWatcher  
#15 Оставлено : 14 апреля 2023 г. 15:10:06(UTC)
CyberWatcher

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.04.2023(UTC)
Сообщений: 42
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 12 раз
и опять же почему в цикле foreach не вываодится FrendlyName единственного сертификата?

По идее, судя по вашему коду, должна возвращаться коллекция, в моем случае содержащая единственный сертитфикат

Код:

public X509Certificate2Collection Certificates
    {
      get
      {
        X509Certificate2Collection collection = new X509Certificate2Collection();
        if (this._storePal != null)
          this._storePal.CloneTo(collection);
        return collection;
      }
    }


Offline CyberWatcher  
#16 Оставлено : 14 апреля 2023 г. 15:24:14(UTC)
CyberWatcher

Статус: Активный участник

Группы: Участники
Зарегистрирован: 13.04.2023(UTC)
Сообщений: 42
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 12 раз
Таки все заработало. Спасибо

Код:
using System.Security.Cryptography.X509Certificates;
using LibCore;
using LibCore.Security.Cryptography.X509Certificates;

namespace CryptoProConsoleLib;

public class Program
{
    public static void Main(string[] args)
    {
        Initializer.Initialize();
        // ready to go!

        using (var store = new CpX509Store(StoreName.My, StoreLocation.CurrentUser))
        {
            store.Open(OpenFlags.ReadOnly);
            var storeCerts = store.Certificates;
            Console.WriteLine("storeCerts.Count = " + storeCerts.Count);
            foreach (var crt in storeCerts)
            {
                Console.WriteLine("crt.SerialNumber = " + crt.SerialNumber);
            }
            var cert = store.Certificates.Find(X509FindType.FindBySerialNumber, "037409F20085AF8D9847DA45A4F9F40AD0", false)[0];
            Console.WriteLine("cert.SubjectName.Name = " + cert.SubjectName.Name);
        }
    }
}



Вывод такой:

storeCerts.Count = 1
crt.SerialNumber = 037409F20085AF8D9847DA45A4F9F40AD0
cert.SubjectName.Name = SNILS=32432, OGRN=4324, OID.1.2.643.100.4=435435, E=a@vn.ru, C=RU, S=77 г. Москва, L=г. Москва, O="ООО ""НАШЕ""", CN="ООО ""ВСЕ""", STREET="УЛ", T=Руководитель , G=Имя Отчество, SN=Имя, INN=32432423


Проблема была в том что я взял номер сертификата как мне его показывал UI КриптоПро то есть с 0x в начале. Нужно было просто убпрать 0x. Я это понял когда вывел номер сертификата в коде.

Еще раз спасибо за помощь.

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.