Отпечаток сертификата эцп где посмотреть
Вкратце, цифровой сертификат является частью инфраструктуры открытых ключей (PKI), представляющей собой систему цифровых сертификатов, центров сертификации и других центров регистрации, которые используются для проверки подлинности каждой стороны, участвующей в электронной транзакции, посредством использования шифрования с открытым ключом. Сертификаты выдаются центрами сертификации, и каждый сертификат имеет набор полей, в которых содержатся такие данные, как субъект (сущность, которой выдается сертификат), срок действия (период времени, в течение которого сертификат является действительным), издатель (лицо, выдавшее сертификат) и открытый ключ. В WCF каждое из этих свойств обрабатывается как утверждение Claim, и каждое утверждение затем подразделяется на два типа: удостоверение и право. Дополнительные сведения о сертификатах X.509 см. в разделе Сертификаты открытого ключа X.509. Дополнительные сведения об утверждениях и авторизации в WCF см. в разделе Управление утверждениями и авторизацией с помощью модели удостоверения. дополнительные сведения о реализации pki см. в статье Enterprise pki с Windows Server 2012 R2 Active Directory Certificate Services.
Сертификаты должны выдаваться центром сертификации, который часто является сторонним издателем сертификатов. Домен Windows содержит центр сертификации, который можно использовать для выдачи сертификатов компьютерам домена.
Просмотр сертификатов
При работе с сертификатами зачастую необходимо просматривать их и проверять определенные свойства. Это легко выполняется с помощью консоли управления (MMC). Дополнительные сведения см. в разделе Практическое руководство. Просмотр сертификатов с помощью оснастки MMC.
Установка КриптоПро ЭЦП Browser plug-in.
Сама инсталляция плагина, очень простая, скачиваем его и запускаем.
Для запуска нажмите "Выполнить"
Далее у вас появится окно с уведомлением, что будет произведена установка КриптоПро ЭЦП Browser plug-in, соглашаемся.
После инсталляции утилиты, вам нужно будет обязательно перезапустить ваш браузер.
Открыв ваш браузер, вы увидите предупредительный значок, нажмите на него.
В открывшемся окне нажмите "Включить расширение"
Кстати если вы не видели мою статью, о очень полезных расширениях для Google Chrome, то заполните этот пробел
У вас откроется форма расширенного запроса сертификата. Вначале заполним раздел "Идентифицирующие сведения". В него входят пункты:
- Имя
- Электронная почта
- Организация
- Подразделение
- Город
- Область
- Страна
Далее вам нужно указать тип требуемого сертификата. В двух словах, это область применения ЭЦП:
- Сертификат проверки подлинности клиента (самый распространенный вариант, по сути для подтверждения, что вы это вы)
- Сертификат защиты электронной почты
- Сертификат подписи кода
- Сертификат подписи штампа времени
- Сертификат IPSec, для VPN тунелей.
- Другие, для специальных OID
Я оставляю "Сертификат проверки подлинности клиента".
Далее вы задаете параметры ключа, указываете, что будет создан новый набор ключей, указываете гост CSP, от него зависит минимальная длина ключа. Обязательно пометьте ключ как экспортируемый, чтобы вы его могли при желании выгружать в реестр или копировать на флешку.
Для удобства еще можете заполнить поле "Понятное имя", для быстрой идентификации вашей тестовой ЭЦП от КриптоПРО. Нажимаем выдать тестовый сертификат.
У вас появится запрос на создание, в котором вам необходимо указать устройство, на которое вы будите записывать тестовый сертификат КриптоПРО, в моем случае это е-токен.
Как только вы выбрали нужное устройство появится окно с генерацией случайной последовательности, в этот момент вам необходимо нажмить любые клавиши или водить мышкой, это защита от ботов.
Все наш контейнер КриптоПРО сформирован и для его записи введите пин-код.
Вам сообщат, что запрошенный вами сертификат был вам выдан, нажимаем "Установить этот сертификат".
Если у вас еще не установленны корневые сертификаты данного центра сертификации, то вы получите вот такую ошибку:
Для ее устранения нажмите на ссылку "установите этот сертификат ЦС"
У вас начнется его скачивание.
Запускаем его, как видите в левом верхнем углу красный значок, чтобы его убрать нажмите "Установить сертификат", оставьте для пользователя.
Далее выбираем пункт "Поместить все сертификаты в следующее хранилище" и через кнопку обзор указываете контейнер "Доверенные корневые центры сертификации". Далее ок.
На последнем этапе у вас выскочит окно с предупреждением, о подтверждении установки сертификатов, нажимаем "Да".
Открываем снова окно с выпуском тестового сертификата КриптоПРО и заново нажимаем "Установить сертификат", в этот раз у вас вылезет окно с вводом вашего пин-кода от вашего носителя.
Если вы его ввели правильно, то увидите, что новый сертификат успешно установлен.
Теперь открывайте ваш КриптоПРО и посмотрите есть ли сертификат в контейнере. Как видите в контейнере есть наша ЭЦП.
Если посмотреть состав, то видим все наши заполненные поля. Вот так вот просто выпустить бесплатный, тестовый сертификат КриптоПРО, надеюсь было не сложно.
при написании приложения Windows Communication Foundation (WCF), использующего сертификат X. 509 для проверки подлинности, часто бывает необходимо указать утверждения, найденные в сертификате. Например, при использовании перечисления FindByThumbprint в методе SetCertificate необходимо указать утверждение отпечатка. Чтобы найти значение утверждения, необходимо выполнить два действия. Сначала необходимо открыть оснастку сертификатов консоли управления (MMC). (См. раздел как просмотреть сертификаты с помощью оснастки MMC.) Во-вторых, как описано здесь, найдите подходящий сертификат и скопируйте его отпечаток (или другие значения утверждений).
Если сертификат используется для проверки подлинности службы, важно запомнить значение столбца Кому выдан (первый столбец консоли). При использовании для защиты транспорта протокола SSL одним из первых шагов является сравнение базового адреса универсального кода ресурса (URI) службы со значением поля Кому выдан . Значения должны совпадать, в противном случае процесс проверки подлинности будет прерван.
Вы также можете использовать командлет PowerShell New-SelfSignedCertificate, чтобы создать временные сертификаты для использования только во время разработки. Однако по умолчанию такой сертификат не выдается центром сертификации и не может использоваться в производственных целях. Дополнительные сведения см. в разделе инструкции. Создание временных сертификатов для использования во время разработки.
Нестандартная проверка подлинности
Свойство CertificateValidationMode также позволяет настроить способ проверки сертификатов. По умолчанию задано значение ChainTrust . Чтобы использовать значение Custom, необходимо также установить атрибут CustomCertificateValidatorType для сборки и типа, которые используются при проверке сертификата. Для создания пользовательского проверяющего элемента управления необходимо наследование от абстрактного класса X509CertificateValidator.
При создании пользовательской структуры проверки подлинности наиболее важным методом, который необходимо переопределить, является метод Validate. Образец создания пользовательской структуры проверки подлинности см. в разделе Проверяющий элемент управления для сертификатов X.509. Дополнительные сведения см. в разделе Пользовательские учетные данные и проверка учетных данных.
Сопоставление сертификата с учетной записью пользователя
Службы IIS и Active Directory предусматривают возможность сопоставления сертификата с учетной пользовательской записью Windows. Дополнительные сведения об этой возможности см. в разделе Сопоставление сертификатов с учетными записями пользователей.
Если эта функция включена, можно задать для свойства MapClientCertificateToWindowsAccount класса X509ClientCertificateAuthentication значение true . В конфигурации можно задать mapClientCertificateToWindowsAccount атрибуту mapClientCertificateToWindowsAccount значение, как показано в следующем коде. true
Сопоставление сертификата X.509 с маркером, представляющим учетную запись пользователя Windows, считается повышением привилегий, поскольку после сопоставления маркер Windows может использоваться для получения доступа к защищенным ресурсам. Поэтому перед сопоставлением необходимо проверить, что сертификат X.509 соответствует политике домена. Проверку этого требования обеспечивает пакет безопасности SChannel.
В первом выпуске WCF сопоставление выполняется без обращения к политике домена. Поэтому более старые приложения, которые работали при использовании первого выпуска, могут не работать, если включено сопоставление и сертификат X.509 не удовлетворяет требованиям политики домена.
Просмотр сертификатов для текущего пользователя
Выберите параметр Выполнить в меню Пуск, а затем введите certmgr.msc.
Отобразится инструмент диспетчера сертификатов для текущего пользователя.
Чтобы просмотреть сертификаты, в разделе Сертификаты — текущий пользователь в левой области разверните каталог для типа сертификата, который нужно просмотреть.
Проверка отзыва сертификатов в режиме подключения к сети и автономном режиме
Извлечение отпечатка сертификата
Откройте оснастку "Сертификаты" консоли управления (MMC). (См. раздел How to: View Certificates with the MMC Snap-in).
В левой области окна Корень консоли щелкните узел Сертификаты (локальный компьютер).
Щелкните папку Личные , чтобы развернуть ее.
Щелкните папку Сертификаты , чтобы развернуть ее.
В списке сертификатов найдите заголовок Назначения . Найдите сертификат, назначением которого является Проверка подлинности клиента .
Дважды щелкните сертификат.
В диалоговом окне Сертификат перейдите на вкладку Состав .
Найдите в списке поле Отпечатоки щелкните его.
Скопируйте шестнадцатеричные значения из текстового поля. Если этот отпечаток используется в коде X509FindType , удалите пробелы между шестнадцатеричными значениями. Например, отпечаток "a9 09 50 2d d8 2a e4 14 33 e6 f8 38 86 b0 0d 42 77 a3 2a 7b" необходимо задавать в коде в виде "a909502dd82ae41433e6f83886b00d4277a32a7b".
При создании защищенного клиента или службы можно использовать сертификат в качестве учетных данных. Например, общий тип учетных данных — это сертификат X. 509, который создается с помощью X509CertificateInitiatorClientCredential.SetCertificate метода.
существует три разных типа хранилищ сертификатов, которые можно проверить с помощью консоли управления (mmc) в Windows systems:
Локальный компьютер. хранилище является локальным для устройства и является глобальным для всех пользователей на устройстве.
Текущий пользователь: хранилище является локальным по отношению к текущей учетной записи пользователя на устройстве.
Учетная запись службы. хранилище является локальным для определенной службы на устройстве.
Генерация тестового сертификата
Как я и писал выше вы много, где сможете его применять, я когда знакомился с миром сертификатов и электронных подписей, то использовал тестовые ЭЦП от КриптоПРО для проверки правильности настройки программного обеспечения для работы на электронных, торговых площадках. Чтобы сгенерировать тестовый электронный сертификат, компания КриптоПРО предоставила вам специальный удостоверяющий, виртуальный центр, которым мы и воспользуемся. Переходим по ссылке:
Я вам советую этот сайт открывать в Internet Explore, меньше будет глюков. Как открыть Internet Explore в Windows 10, читайте по ссылке слева
Если же вы хотите использовать другой браузер, то установите КриптоПро ЭЦП Browser plug-in.
Отключение механизма проверки цепочки доверия
При создании новой службы пользователь может использовать сертификат, который был выдан центром сертификации, отличным от доверенного, или сертификат издателя может отсутствовать в хранилище «Доверенные корневые центры сертификации». Предусмотрена возможность временного отключения механизма, проверяющего цепочку сертификатов для заданного сертификата; эта возможность должна использоваться только в процессе разработки. Чтобы отключить данный механизм, задайте для свойства CertificateValidationMode значение PeerTrust или PeerOrChainTrust . Эти режимы определяют, что сертификат может быть либо самостоятельно выданным (доверие одноранговой группы), либо являться частью цепочки доверия. Указанное свойство можно задать для любого из следующих классов.
Класс | Свойство. |
---|---|
X509ClientCertificateAuthentication | X509ClientCertificateAuthentication.CertificateValidationMode |
X509PeerCertificateAuthentication | X509PeerCertificateAuthentication.CertificateValidationMode |
X509ServiceCertificateAuthentication | X509ServiceCertificateAuthentication.CertificateValidationMode |
IssuedTokenServiceCredential | IssuedTokenServiceCredential.CertificateValidationMode |
Свойство также можно задать с использованием конфигурации. Для задания режима проверки используются следующие элементы.
Сертификаты служб
Также обратите внимание, что поле Назначения сертификата должно включать соответствующее значение, например "Проверка подлинности сервера" или "Проверка подлинности клиента".
Сертификаты в конфигурации
Сертификаты также можно задать с использованием конфигурации. При создании службы учетные данные, включая сертификаты, задаются в serviceBehaviors >. При программировании клиента сертификаты задаются в EndpointBehaviors >.
Срок действия сертификата
Каждый сертификат действителен только в течение заданного периода времени, который называется сроком действия. Срок действия определяется значениями полей Действителен с и Действителен по сертификата X.509. Во время проверки подлинности проверяется, не истек ли срок действия сертификата.
Доступ к хранилищам
Просмотр сертификатов в оснастке MMC
В следующей процедуре показано, как проверить магазины на локальном устройстве, чтобы найти соответствующий сертификат:
В меню Пуск выберите пункт выполнить и введите MMC.
Откроется консоль MMC.
В меню файл выберите команду Добавить или удалить оснастку.
Откроется окно Добавление или удаление оснасток .
В списке Доступные оснастки выберите Сертификаты, а затем щелкните добавить.
В окне оснастки "сертификаты " выберите учетная запись компьютера, а затем нажмите кнопку Далее.
При необходимости можно выбрать учетную запись пользователя для текущего пользователя или учетной записи службы для конкретной службы.
Если вы не являетесь администратором устройства, вы можете управлять сертификатами только для учетной записи пользователя.
В окне Выбор компьютера оставьте выбранным параметр локальный компьютер и нажмите кнопку Готово.
В окне Добавление или удаление оснастки нажмите кнопку ОК.
Необязательно. в меню файл выберите сохранить или Сохранить как , чтобы сохранить файл консоли MMC для последующего использования.
Чтобы просмотреть сертификаты в оснастке MMC, выберите корень консоли в левой области, а затем разверните узел Сертификаты (локальный компьютер).
Появится список каталогов для каждого типа сертификатов. Из каждого каталога сертификатов можно просматривать, экспортировать, импортировать и удалять свои сертификаты.
Сертификаты клиента
Сертификаты клиентов, как правило, выдаются не сторонними центрами сертификации. В хранилище «Личное» текущего пользователя обычно содержатся сертификаты, выданные корневым центром; в поле «Назначения» этих сертификатов задано значение «Проверка подлинности клиента». Клиент может использовать такой сертификат, когда требуется взаимная проверка подлинности.
Выбор сертификата для использования
Наиболее распространенными вопросами о сертификатах являются следующие: какой сертификат использовать и почему? Ответ зависит от того, что программирует пользователь - клиент или службу. Ниже представлены общие рекомендации; следует иметь виду, что они не являются исчерпывающими ответами на поставленные вопросы.
Цепочка доверия и центры сертификации
Сертификаты создаются в иерархии, где каждый отдельный сертификат связан с выдавшим его органом сертификации. Эта ссылка указывает на сертификат органа сертификации. Затем сертификат ЦС связывается с центром сертификации, который выдал сертификат исходного ЦС. Процесс повторяется до тех пор, пока не будет достигнут корневой сертификат органа сертификации. Сертификат корневого органа сертификации является изначально доверенным.
Цифровые сертификаты используются для удостоверения подлинности сущности на основе этой иерархии, которая также называется цепочкой сертификатов. Вы можете просмотреть цепочку сертификатов с помощью оснастки MMC, дважды щелкнув любой сертификат, а затем перейдя на вкладку путь к сертификату . Дополнительные сведения об импорте цепочек сертификатов для центра сертификации см. в разделе инструкции. Указание цепочки сертификатов центра сертификации, используемой для проверки подписей.
Любой издатель может быть сделан доверенным корневым центром; для этого необходимо поместить сертификат издателя в хранилище сертификатов доверенных корневых центров.
Что такое отпечаток сертификата (Certificate thumbprint)
Отпечаток сертификата (Certificate thumbprint) - это хэш сертификата, вычисляемый по всем данным сертификата и его подпись. Отпечатки используются в качестве уникальных идентификаторов для сертификатов, в приложениях при принятии решений о доверии, в файлах конфигурации и отображаются в интерфейсах.
И так про определение хэша и его виды, я вам подробно уже рассказывал, кто не видел эту статью, советую ее посмотреть, будет очень познавательно. Там алгоритмов очень много, нас это сегодня не интересует, нам нужно его значение. Я покажу вам два метода, но уверен, что их гораздо больше.
- Посмотреть через браузер или оснастку mmc
- Посмотреть через командную строку
- Посмотреть через PowerShell
Метод SetCertificate
Метод SetCertificate позволяет задать хранилище и его расположение, тип поиска (параметр x509FindType ), определяющий поле сертификата, и значение, которое требуется найти в данном поле. Например, следующий код создает экземпляр ServiceHost и задает сертификат службы, используемый с целью удостоверения подлинности службы для клиентов, с помощью метода SetCertificate .
Узнаем кэш сертификата в браузере
Чтобы посмотреть сертификат используемый в нем, вам нужно просто на него щелкнуть, в Internet Explore этого достаточно, но в Google Chrome придется сделать вот таким методом. Далее вы заходите во вкладку "Состав" и находите поле "Отпечаток", именно это значение и будет вам показывать хэш сертификата.
Если вы используете сертификат для подписи и он установлен у вас локально, то откройте оснастку mmc сертификаты и в ветке личное найди нужный, далее все как описано выше.
Выбор хранилища
Выбор расположения для хранения сертификата зависит от режима и места выполнения клиента или службы. Действуют следующие общие правила.
Если служба WCF размещается в службе Windows, используйте хранилище локального компьютера. Обратите внимание, что для установки сертификатов в хранилище локального компьютера требуются привилегии администратора.
Если служба или клиент является приложением, выполняющимся от имени учетной записи пользователя, используйте хранилище текущего пользователя.
Получить отпечаток сертификата с помощью PowerShell
Если вам необходимо получить отпечаток сертификата через PowerShell, то запустите оболочку и введите команду:
У вас будет столбец Thumbprint, это и есть отпечаток сертификата, в моем примере, это сертификат для Windows Admin Center.
Та же можно вывести более детальную информацию по сертификатам и сделать небольшое форматирование выходных данных:
Get-ChildItem -Path cert:\LocalMachine\My\ | Format-Table Subject, FriendlyName, Thumbprint, NotAfter -AutoSize
В результате полезное еще видеть столбец NotAfter для понимания срока действия сертификата.
Хранилища сертификатов
Сертификаты хранятся в хранилищах. Существует два основных хранилища, которые подразделяются на вложенные хранилища. Администратор компьютера может просматривать оба основных хранилища с помощью средства MMC. Пользователи, не являющиеся администраторами, могут просматривать только хранилище текущего пользователя.
Хранилище текущего пользователя. Интерактивные приложения обычно помещают сертификаты в это хранилище для текущего пользователя компьютера. В случае клиентского приложения в это хранилище обычно помещаются сертификаты, используемые для проверки подлинности пользователя при подключении к службе.
Эти два хранилища подразделяются на вложенные хранилища. Ниже представлены наиболее важные вложенные хранилища, используемые при программировании с помощью WCF.
Доверенные корневые центры сертификации. Сертификаты из этого хранилища можно использовать для создания цепочки сертификатов, которую можно проследить до сертификата центра сертификации в этом хранилище.
Локальный компьютер полностью доверяет любому сертификату, помещенному в это хранилище, даже если он поступил не из доверенного стороннего центра сертификации. Поэтому в данное хранилище не следует помещать сертификаты, к издателям которых нет полного доверия, или если последствия не до конца ясны.
Личное. Это хранилище используется для хранения сертификатов, связанных с пользователем компьютера. Обычно в этом хранилище хранятся сертификаты, выданные одним из центров сертификации, сертификаты которых находятся в хранилище «Доверенные корневые центры сертификации». С другой стороны, сертификат, находящийся в этом хранилище, может быть самостоятельно выданным, и ему будет доверять приложение.
Дополнительные сведения о хранилищах сертификатов см. в разделе Хранилища сертификатов.
Просмотр сертификатов для локального устройства
В меню Пуск выберите пункт выполнить , а затем введите certlm. msc.
Откроется средство диспетчера сертификатов для локального устройства.
Для просмотра сертификатов в разделе Сертификаты — локальный компьютер в левой области разверните каталог для типа сертификата, который нужно просмотреть.
Список отзыва сертификатов
Центр сертификации может отменить действующий сертификат в любой момент. Это может произойти по многим причинам, например при компрометации закрытого ключа сертификата.
В этом случае все цепочки, происходящие от отозванного сертификата, также становятся недействительными и механизмы проверки подлинности перестают им доверять. Для обозначения отозванных сертификатов каждый издатель публикует список отзыва сертификатов, имеющий отметку даты и времени. Этот список можно проверить с помощью режима с подключением к сети или автономного режима, задав одно из значений перечисления RevocationMode для свойства DefaultRevocationMode или X509RevocationMode следующих классов: X509ClientCertificateAuthentication, X509PeerCertificateAuthentication, X509ServiceCertificateAuthentication и IssuedTokenServiceCredential. Значение по умолчанию для всех свойств - Online .
Можно также задать режим в конфигурации с помощью revocationMode атрибута revocationMode ( <) и >( <).
Через командную строку
Откройте командную строку cmd и введите команду:
Как видите, данный метод еще быстрее, для примера я вам показал вывод командной строки и сертификат открытый в Internet Explore. Надеюсь вам помогла данная информация в поиске значения хэш у сертификата.
Использование командлета PowerShell New-SelfSignedCertificate для создания цепочки сертификатов
Командлет PowerShell New-SelfSignedCertificate создает сертификаты X. 509, а также пары "закрытый ключ — открытый ключ". Закрытый ключ можно сохранить на диск, а затем использовать его для выдачи и подписи новых сертификатов, что позволяет имитировать иерархию цепочки сертификатов. Командлет предназначен для использования только в качестве вспомогательной службы при разработке служб и никогда не должен использоваться для создания сертификатов для фактического развертывания. При разработке службы WCF выполните следующие действия, чтобы создать цепочку отношений доверия с помощью командлета New-SelfSignedCertificate.
Создание цепочки доверия с помощью командлета New-SelfSignedCertificate
Создайте временный сертификат корневого центра сертификации с помощью командлета New-SelfSignedCertificate. Сохраните закрытый ключ на диск.
Воспользуйтесь новым сертификатом для выдачи другого сертификата, содержащего открытый ключ.
Импортируйте сертификат корневого центра в хранилище «Доверенные корневые центры сертификации».
Просмотр сертификатов с помощью средства диспетчера сертификатов
Вы также можете просматривать, экспортировать, импортировать и удалять сертификаты с помощью средства диспетчера сертификатов.
Несколько сертификатов с одинаковыми значениями полей
В хранилище может содержаться несколько сертификатов с одним и тем же именем субъекта. Поэтому если для параметра x509FindType задано значение FindBySubjectName или FindBySubjectDistinguishedName и существует несколько сертификатов с таким значением, возникает исключение, поскольку в этом случае невозможно определить, какой именно сертификат требуется использовать. Это можно подавить, задав для параметра x509FindType значение FindByThumbprint. В поле отпечатка содержится уникальное значение, которое можно использовать для поиска конкретного сертификата в хранилище. Однако у данного подхода есть свой недостаток: если сертификат был отозван или обновлен, метод SetCertificate выполнить не удастся, поскольку исходный отпечаток на будет найден. А если сертификат является недействительным, проверка подлинности не будет пройдена. Это можно подавить, задав для параметра x590FindType значение FindByIssuerName и указав имя издателя. Если указывать издателя не требуется, можно также задать одно из значений перечисления X509FindType, например FindByTimeValid.
Читайте также: