Чтение и анализ сертификата клиента

В этой статье рассказывается, как читать некоторые интересные функции сертификата. В событии, которое необходимо проанализировать содержимое файла сертификата, ознакомьтесь со статьей инструменты для создания, просмотра и управления сертификатами.

Исходная версия продукта:   Службы IIS
Исходный номер статьи базы знаний:   216831

Файл сертификата

После дампа содержимого сертификата у вас будет файл следующего вида:

PKCS7 Message Certificates:
================ Begin Nesting Level 1 ================
X509 Certificate:
Version: 3
Serial Number: 25f51e4e0000115a
Signature Algorithm:
  Algorithm ObjectId: 1.2.840.113549.1.1.4
  Algorithm Parameters:
05 00 ..
Issuer: CN=MS CertSrv Test Group CA, OU=Windows NT, O=Microsoft, L=Redmond, S=WA, C=US
NotBefore: 10/23/1998 3:33 PM
NotAfter: 10/23/1999 3:33 PM
Subject: CN=Name (Signing), OU=IASG, O=Microsoft, L=Redmond,
         S=WA, C=US, E=name@domain.com
Public Key Algorithm:
  Algorithm ObjectId: 1.2.840.113549.1.1.1
  Algorithm Parameters:
05 00 ..
PublicKey: UnusedBits=0
30 48 02 41 00 d4 c1 0e 6f 0b 86 54 b8 9b 08 de 0H.A....o..T....
41 87 b5 e8 62 83 a6 42 a6 63 de 5a 9e cc 17 f6 A...b..B.c.Z....
72 95 52 1f 56 7a 95 ad 33 f0 8e c2 e8 c6 d4 95 r.R.Vz..3.......
0d ce c4 7a 1a f3 10 28 ca 15 46 4e 48 52 8c 89 ...z...(..FNHR..
87 f8 5d 0d 1b 02 03 01 00 01 ..].......
Certificate Extensions: 6
  2.5.29.15: Flags = 0(), Length = 4
     Key Usage
     Digital Signature, Key Encipherment, Data Encipherment, Key Agreement(B8)
 2.5.29.37: Flags = 0(), Length = c
     Enhanced Key Usage
         Client Authentication(1.3.6.1.5.5.7.3.2)

2.5.29.35: Flags = 0(), Length = a9
 Authority Key Identifier
     KeyID=2A58 2026 5B9F CFB1 E328 F42A EA4D F8CA 19CB F3C4
     Certificate Issuer: Directory Address:
             CN=MS CertSrv Test Group CA
             OU=Windows NT
             O=Microsoft
             L=Redmond
             S=WA
             C=US
     Certificate SerialNumber=1113 6100 AA00 2B86 11D2 5EF8 DDA0 99B4

2.5.29.31: Flags = 0(), Length = 91
    CRL Distribution Points
    [1]CRL Distribution Point Distribution Point Name:
    Full Name:
    URL=http://CERTSRV/CertSrv/CertEnroll/MS CertSrv Test Group CA.crl
    [2]CRL Distribution Point Distribution Point Name:
    Full Name:
    URL=file://\\CERTSRV\CertSrv\CertEnroll\MS CertSrv Test Group CA.crl
2.5.29.19: Flags = 0(), Length = 2
    Basic Constraints
        Subject Type=End Entity Path Length Constraint=None
1.3.6.1.5.5.7.1.1: Flags = 0(), Length = 56
    Authority Information Access
        [1]Authority Info Access
    AccessMethod=Certification Authority Issuer(1.3.6.1.5.5.7.48.2)
    Alternative Name:
    URL=http://CERTSRV/CertSrv/CertEnroll/CERTSRV_MS CertSrv Test Group CA.crt
Non-root Certificate

Примечание

Этот сертификат изменяется для размещения в этом окне.

Анализ сертификата

Ниже приведены некоторые интересные части сертификата.

  • Сообщение PKCS7

    PKCS это формат сообщений для криптографических сообщений, разработанных RSA. Дополнительные сведения можно найти на веб-сайте RSA Security.

  • Сертификат X509

    Это стандартный формат сертификата.

  • Версия

    Версия 3,0 — это текущая версия.

  • серийный номер;

    Это номер, уникальный для объекта, который выдал сертификат.

    Примечание

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

  • Алгоритм подписи

    ObjectID или OID — это число, используемое для определения алгоритма, приложения, типа части тела, набора символов, внешнего параметра или типа сообщения. В этом примере 1.2.840.113549.1.1.4 означает хэш-алгоритм MD5. Список OID, связанных с шифрованием, можно получить из WinCrypt.h файла заголовка, который поставляется с VC + +.

  • Издатель

    Это объект, который создал сертификат.

  • Свойстве NotBefore/NotAfter

    Это диапазон дат, в пределах которого действителен сертификат.

  • Subject

    Кому принадлежит этот сертификат?

  • Алгоритм открытого ключа

    1.2.840.113549.1.1.1 означает, что открытый ключ был создан с помощью алгоритма RSA.

  • Открытый ключ

    Это фактические данные, на которые фокусируется этот сертификат; это сам открытый ключ.

  • Расширения сертификатов

    Они являются необязательными и поддерживают только сертификаты версии 3,0. Они включают Использование ключей (то, что может использовать открытый ключ для?), Расширенное использование ключа (аналогично предыдущему), идентификатор ключа центра сертификации (данные, используемые издателем для идентификации этого сертификата), точка распространения списка отзыва сертификатов (где можно найти сведения о том, отозван ли этот сертификат).