Verifiera klientcertifikat

GÄLLER FÖR: Alla API Management-nivåer

validate-client-certificate Använd principen för att framtvinga att ett certifikat som presenteras av en klient för en API Management-instans matchar angivna verifieringsregler och anspråk som ämne eller utfärdare för en eller flera certifikatidentiteter.

För att anses vara giltigt måste ett klientcertifikat matcha alla valideringsregler som definierats av attributen på elementet på den översta nivån och matcha alla definierade anspråk för minst en av de definierade identiteterna.

Använd den här principen för att kontrollera inkommande certifikategenskaper mot önskade egenskaper. Använd även den här principen för att åsidosätta standardverifiering av klientcertifikat i följande fall:

  • Om du har laddat upp anpassade CA-certifikat för att verifiera klientbegäranden till den hanterade gatewayen
  • Om du har konfigurerat anpassade certifikatutfärdare för att verifiera klientbegäranden till en självhanterad gateway

Mer information om anpassade CA-certifikat och certifikatutfärdare finns i Så här lägger du till ett anpassat CA-certifikat i Azure API Management.

Kommentar

Ange principens element och underordnade element i den ordning som anges i principbeskrivningen. Läs mer om hur du anger eller redigerar API Management-principer.

Principuttryck

<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> 

Attribut

Namn beskrivning Obligatoriskt Standardvärde
validate-revocation Boolesk. Anger om certifikatet verifieras mot listan över återkallade online. Principuttryck tillåts inte.  Nej true
validate-trust Boolesk. Anger om valideringen ska misslyckas om kedjan inte kan byggas upp till betrodd certifikatutfärdare. Principuttryck tillåts inte. Nej true
validate-not-before Boolesk. Validerar värdet mot aktuell tid. Principuttryck tillåts inte. Nej true
validate-not-after Boolesk. Validerar värdet mot aktuell tid. Principuttryck tillåts inte. Nej true
ignore-error Boolesk. Anger om principen ska gå vidare till nästa hanterare eller hoppa till on-error vid misslyckad validering. Principuttryck tillåts inte. Nej false

Element

Element Description Obligatoriskt
Identiteter Lägg till det här elementet för att ange ett eller flera identity element med definierade anspråk på klientcertifikatet. Nej

identitetsattribut

Name beskrivning Obligatoriskt Standardvärde
Stämpel Certifikatets tumavtryck. Nej Ej tillämpligt
serienummer Certifikatserienummer. Nej Ej tillämpligt
common-name Certifikatets gemensamma namn (en del av ämnessträngen). Nej Ej tillämpligt
certifikatmottagare Ämnessträng. Måste följa formatet Distinguished Name(Unikt namn). Nej Ej tillämpligt
dns-name Värdet för dnsName-posten i anspråket Alternativt namn för ämne. Nej Ej tillämpligt
issuer-subject Utfärdarens ämne. Måste följa formatet Distinguished Name(Unikt namn). Nej Ej tillämpligt
issuer-thumbprint Tumavtryck för utfärdare. Nej Ej tillämpligt
issuer-certificate-id Identifierare för en befintlig certifikatentitet som representerar utfärdarens offentliga nyckel. Ömsesidigt uteslutande med andra utfärdarattribut. Nej Ej tillämpligt

Användning

Exempel

I följande exempel valideras ett klientcertifikat för att matcha principens standardverifieringsregler och kontrollerar om ämnes- och utfärdarnamnet matchar angivna värden.

<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> 

Mer information om hur du arbetar med principer finns i: