Convalida dello scopo del certificato

Stai visualizzando la documentazione di Apigee Edge.
Vai alla documentazione di Apigee X.
informazioni

Questo documento spiega come convalidare lo scopo di un certificato prima di caricarlo in un archivio chiavi o in un archivio attendibilità. Il processo si basa su OpenSSL per la convalida ed è applicabile a qualsiasi ambiente in cui OpenSSL è disponibile.

I certificati TLS vengono generalmente emessi per uno o più scopi per cui possono essere utilizzati. In genere, ciò viene fatto per limitare il numero di operazioni per cui è possibile utilizzare una chiave pubblica contenuta nel certificato. Lo scopo del certificato è disponibile nelle seguenti estensioni di certificato:

  • Utilizzo della chiave
  • Utilizzo esteso della chiave

Utilizzo della chiave

L'estensione di utilizzo della chiave definisce lo scopo (ad esempio crittografia, firma o firma del certificato) della chiave contenuta nel certificato. Se per l'autenticazione delle entità viene utilizzata la chiave pubblica, l'estensione del certificato deve includere l'utilizzo della chiave Firma digitale.

Le diverse estensioni di utilizzo delle chiavi disponibili per un certificato TLS creato utilizzando il processo dell'autorità di certificazione (CA) sono le seguenti:

  • Firma digitale
  • Non ripudio
  • Crittografia chiave
  • Crittografia dati
  • Scambio di chiavi
  • Firma del certificato
  • Firma CRL
  • Solo crittografia
  • Solo decrittazione

Per maggiori informazioni su queste estensioni di utilizzo delle chiavi, consulta RFC5280, Utilizzo chiavi.

Utilizzo esteso della chiave

Questa estensione indica uno o più scopi per cui è possibile utilizzare la chiave pubblica certificata, in aggiunta o al posto degli scopi di base indicati nell'estensione per l'utilizzo della chiave. In generale, questa estensione verrà visualizzata solo nei certificati delle entità finali.

Di seguito sono riportate alcune estensioni per l'utilizzo esteso delle chiavi comuni:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Una chiave estesa può essere critica o non critica.

  • Se l'estensione è critica, il certificato deve essere utilizzato solo per gli scopi o gli scopi indicati. Se il certificato viene utilizzato per un altro scopo, costituisce una violazione del criterio della CA.
  • Se l'estensione è non critica, indica che lo scopo o gli scopi previsti della chiave sono informativi e non implica che la CA limiti l'uso della chiave allo scopo indicato. Tuttavia, le applicazioni che utilizzano i certificati potrebbero richiedere l'indicazione di uno scopo particolare affinché il certificato sia accettabile.

Se un certificato contiene sia il campo di utilizzo della chiave sia il campo di utilizzo esteso della chiave come critico, entrambi i campi devono essere elaborati in modo indipendente e il certificato può essere utilizzato solo per uno scopo che soddisfi entrambi i valori di utilizzo della chiave. Tuttavia, se non esiste uno scopo in grado di soddisfare entrambi i valori di utilizzo delle chiavi, il certificato non deve essere utilizzato per alcuno scopo.

Quando acquisti un certificato, assicurati che venga definito l'utilizzo corretto della chiave per soddisfare i requisiti dei certificati client o server senza i quali l'handshake TLS avrà esito negativo.

Purpose Utilizzo chiave

(obbligatorio)

Utilizzo esteso della chiave

(facoltativo)

Certificato dell'entità server utilizzato nell'archivio chiavi dell'host virtuale Apigee Edge
  • Firma digitale
  • Crittografia chiave o accordo chiave
Autenticazione del server web TLS
Certificato dell'entità client utilizzato nell'archivio attendibilità dell'host virtuale Apigee Edge
  • Firma digitale o contratto chiave
Autenticazione client web TLS
Certificato dell'entità server utilizzato nell'archivio di attendibilità del server di destinazione Apigee Edge
  • Firma digitale
  • Crittografia chiave o accordo chiave
Autenticazione del server web TLS
Certificato dell'entità client utilizzato nell'archivio chiavi del server di destinazione Apigee Edge
  • Firma digitale o contratto chiave
Autenticazione client web TLS
Certificati intermedi e radice
  • Simbolo certificato
  • Simbolo dell'elenco revoche certificati (CRL)

Prima di iniziare

Prima di seguire la procedura descritta in questo documento, assicurati di comprendere i seguenti argomenti:

  • Se non hai familiarità con una catena di certificati, leggi Catena di attendibilità.
  • Se non hai dimestichezza con la libreria OpenSSL, leggi OpenSSL
  • Per scoprire di più sulle estensioni di utilizzo delle chiavi e sull'utilizzo esteso delle chiavi, consulta RFC5280.
  • Se vuoi utilizzare gli esempi di riga di comando di questa guida, installa o aggiorna il client OpenSSL all'ultima versione
  • Assicurati che i certificati siano in formato PEM. In caso contrario, convertili in formato PEM.

Convalida lo scopo del certificato

Questa sezione descrive i passaggi utilizzati per convalidare lo scopo del certificato.

  1. Accedi al server in cui è presente OpenSSL.
  2. Per determinare l'utilizzo della chiave da parte di un certificato, esegui il seguente comando OpenSSL:
    openssl x509 -noout -ext keyUsage < certificate
    

    Dove certificate è il nome del certificato.

    Esempio di output

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  3. Se l'utilizzo della chiave è obbligatorio, verrà definito come critico come segue:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
    
  4. Esegui questo comando per ottenere l'utilizzo esteso della chiave per un certificato. Se l'utilizzo esteso della chiave non è definito come critico, si tratta di un suggerimento e non di un mandato.
    openssl x509 -noout -ext extendedKeyUsage < certificate
    

    Dove certificate è il nome del certificato.

    Esempio di output

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication