Condividi tramite


Convalidare il certificato client

SI APPLICA A: Tutti i livelli di Gestione API

Usare i criteri validate-client-certificate per imporre che un certificato presentato da un client a un'istanza di Gestione API corrisponda alle regole di convalida e alle attestazioni specificate, ad esempio soggetto o emittente, per una o più identità del certificato.

Per essere considerato valido, un certificato client deve corrispondere a tutte le regole di convalida definite dagli attributi nell'elemento di primo livello e corrispondere a tutte le attestazioni definite per almeno una delle identità definite.

Usare questo criterio per controllare le proprietà del certificato in ingresso rispetto alle proprietà desiderate. Usare anche questo criterio per eseguire l'override della convalida predefinita dei certificati client in questi casi:

  • Se sono stati caricati certificati CA personalizzati per convalidare le richieste client al gateway gestito
  • Se sono state configurate autorità di certificazione personalizzate per convalidare le richieste client a un gateway autogestito

Per altre informazioni sui certificati e le autorità di certificazione personalizzate, vedere Come aggiungere un certificato della CA personalizzato in Gestione API di Azure.

Nota

Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di API Management.

Istruzione del criterio

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

Attributi

Nome Descrizione Richiesto Valore predefinito
convalidare la revoca Booleano. Specifica se il certificato viene convalidato rispetto all'elenco di revoche online. Le espressioni di criteri non sono consentite.  No true
convalidare l'attendibilità Booleano. Specifica se la convalida deve avere esito negativo nel caso in cui la catena non può essere compilata correttamente fino alla CA attendibile. Le espressioni di criteri non sono consentite. No true
validate-not-before Booleano. Convalida il valore rispetto all'ora corrente. Le espressioni di criteri non sono consentite. No true
validate-not-after Booleano. Convalida il valore rispetto all'ora corrente. Le espressioni di criteri non sono consentite. No true
ignore-error Booleano. Specifica se i criteri devono passare al gestore successivo o saltare all'errore in caso di esito negativo della convalida. Le espressioni di criteri non sono consentite. No false

Elementi

Elemento Descrizione Richiesto
identità Aggiungere questo elemento per specificare uno o più elementi identity con attestazioni definite nel certificato client. No

attributi identità

Nome Descrizione Richiesto Valore predefinito
thumbprint Identificazione personale del certificato. No N/D
numero di serie Numero di serie del certificato. No N/D
nome comune Nome comune del certificato (parte della stringa oggetto). No N/D
subject Stringa del soggetto. Deve seguire il formato del nome distinto. No N/D
dns-name Valore della voce dnsName all'interno dell'attestazione Nome alternativo soggetto. No N/D
issuer-subject Oggetto dell'autorità di certificazione. Deve seguire il formato del nome distinto. No N/D
issuer-thumbprint Identificazione personale dell'autorità di certificazione. No N/D
issuer-certificate-id Identificatore dell'entità certificato esistente che rappresenta la chiave pubblica dell'autorità emittente. Si escludono a vicenda con altri attributi dell'autorità emittente. No N/D

Utilizzo

Esempio

Nell'esempio seguente viene convalidato un certificato client in modo che corrisponda alle regole di convalida predefinite dei criteri e controlla se il nome dell'oggetto e dell'autorità emittente corrisponde ai valori specificati.

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

Per ulteriori informazioni sull'utilizzo dei criteri, vedere: