Проверка сертификата клиента

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API

Используйте политику validate-client-certificate, чтобы проверить соответствие сертификата, предоставленного клиентом экземпляру API управления, указанным правилам проверки и утверждениям, таким как субъект или издатель для одного удостоверения сертификата или нескольких.

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

Используйте эту политику для сверки свойств входящего сертификата с требуемыми свойствами. Также используйте эту политику для переопределения проверки сертификатов клиента по умолчанию в следующих случаях:

  • если вы загрузили пользовательские сертификаты ЦС для проверки клиентских запросов к управляемому шлюзу;
  • если вы настроили пользовательские центры сертификации для проверки клиентских запросов к самостоятельно управляемому шлюзу.

Дополнительные сведения о пользовательских сертификатах ЦС и центрах сертификации см. в статье Добавление пользовательского сертификата ЦС в API управления Azure.

Примечание.

Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.

Правило политики

<validate-client-certificate 
    validate-revocation="true | false"
    validate-trust="true | false" 
    validate-not-before="true | false" 
    validate-not-after="true | false" 
    ignore-error="true | false">
    <identities>
        <identity
            thumbprint="certificate thumbprint"
            serial-number="certificate serial number"
            common-name="certificate common name"
            subject="certificate subject string"
            dns-name="certificate DNS name"
            issuer-subject="certificate issuer"
            issuer-thumbprint="certificate issuer thumbprint"
            issuer-certificate-id="certificate identifier"/>
    </identities>
</validate-client-certificate> 

Атрибуты

Имя. Описание Обязательное поле По умолчанию.
проверка отзыва Логическое значение. Указывает, проверяется ли сертификат по онлайн-списку отзыва. Выражения политики не допускаются. нет true
validate-trust Логическое значение. Указывает, должна ли проверка завершаться сбоем при невозможности сформировать цепочку к надежному ЦС. Выражения политики не допускаются. нет true
validate-not-before Логическое значение. Сверяет значение с текущим временем. Выражения политики не допускаются. нет true
Validate-not-after Логическое значение. Сверяет значение с текущим временем. Выражения политики не допускаются. нет true
ignore-error Логическое значение. Указывает, должна ли политика при неудачной проверке перейти к следующему обработчику или к ошибке. Выражения политики не допускаются. нет false

Элементы

Элемент Описание Обязательное поле
идентичности Добавьте этот элемент, чтобы указать до 10 identity подэлементов с определенными утверждениями в сертификате клиента. нет

Атрибуты удостоверения

Имя. Описание Обязательное поле По умолчанию.
Отпечаток большого пальца Отпечаток СЕРТИФИКАТА SHA-1. нет Н/П
серийный номер Серийный номер сертификата. нет Н/П
common-name Общее имя сертификата (часть строки темы). нет Н/П
субъект Строка темы Должен соответствовать формату различающегося имени, который состоит из атрибутов имен с разделителями-запятыми, например "CN=MyName, OU=MyOrgUnit, C=US...". нет Н/П
dns-name Значение записи dnsName в утверждении альтернативного имени субъекта. нет Н/П
issuer-subject Субъект издателя. Должен соответствовать формату различающегося имени. нет Н/П
издатель-отпечаток Отпечаток издателя SHA-1. нет Н/П
issuer-certificate-id Идентификатор действующей сущности сертификата, представляющей открытый ключ издателя. Этот атрибут является взаимоисключающим с другими атрибутами издателя. нет Н/П

Использование

Примеры

В следующем примере сертификат клиента проверяется на соответствие правилам проверки политики по умолчанию и проверяет, соответствуют ли субъект и имя издателя указанным значениям.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            subject="C=US, ST=Illinois, L=Chicago, O="Contoso, Inc.", CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

В следующем примере выполняется более строгая проверка, проверяя, соответствует ли отпечаток субъекта и отпечаток издателя указанным значениям.

<validate-client-certificate 
    validate-revocation="true" 
    validate-trust="true" 
    validate-not-before="true" 
    validate-not-after="true" 
    ignore-error="false">
    <identities>
        <identity
            thumbprint="AA11BB22CC33DD44EE55FF66AA77BB88CC99DD00"
            issuer-thumbprint="BB22CC33DD44EE55FF66AA77BB88CC99DD00EE11" />
    </identities>
</validate-client-certificate> 

Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.