Поделиться через


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

ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление 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> 

Атрибуты

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

Элементы

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

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

Имя Описание Обязательное поле По умолчанию.
thumbprint Отпечаток сертификата. No Н/П
serial-number Серийный номер сертификата. No Н/П
common-name Общее имя сертификата (часть строки темы). No Н/П
субъект Строка темы Должен соответствовать формату различающегося имени. No Н/П
dns-name Значение записи dnsName в утверждении альтернативного имени субъекта. No Н/П
issuer-subject Субъект издателя. Должен соответствовать формату различающегося имени. No Н/П
issuer-thumbprint Отпечаток издателя. No Н/П
issuer-certificate-id Идентификатор действующей сущности сертификата, представляющей открытый ключ издателя. Этот атрибут является взаимоисключающим с другими атрибутами издателя. No Н/П

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

Пример

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

<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 Corp., CN=*.contoso.com"
            issuer-subject="C=BE, O=FabrikamSign nv-sa, OU=Root CA, CN=FabrikamSign Root CA" />
    </identities>
</validate-client-certificate> 

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