SSL / TLS: come risolvere "Problemi relativi alla catena: contiene ancora"

16

Ho appena eseguito un rapido test su ssllabs.com: ho ottenuto A +, di cui sono felice.

Tuttavia c'è una cosa che non so come "aggiustare": Il mio sito supporta la pinzatura OCSP e ssllabs continua a dirmi: Problemi della catena: contiene ancora. So che questo è solo un "avvertimento" nel senso che rallenta un po 'la connessione.

nginx config:

..
ssl_certificate             public.crt;
ssl_certificate_key         private.key;
ssl_stapling                on;
ssl_stapling_verify         on;
ssl_trusted_certificate     my-chain.pem;
..

Dove:
- public.crt è il certificato pubblico che ho ricevuto da StartSSL
- private.key chiave privata del certificato
- my-chain.pem (ssllabs chiama questo: "Certificati aggiuntivi (se forniti)") consistono in:

1.) StartCom Class 1 Primary Intermediate Server CA  
2.) StartCom Certification Authority

Ho trovato un sito che utilizza anche certificati StartCom (StartSSL), supporta la graffatura OCSP, ma non presenta il problema sopra descritto.

"Certificati aggiuntivi" di questo sito:

1.) StartCom Class 1 Primary Intermediate Server CA

Ho provato la stessa cosa: metto solo "CA server intermedio primario StartCom Classe 1" su my-chain.pem.
Tuttavia, ssllabs dice: Pinzatura OCSP: No Quindi sembra che questa operazione interrompa completamente la punteggiatura OCSP.

Qualche idea?

EDIT:

Finalmente risolto!

ssl_certificate = Site certificate + StartCom Class 1 Primary Intermediate Server CA  
ssl_trusted_certificate = StartCom Class 1 Primary Intermediate Server CA + StartCom Certification Authority
    
posta Ben Richard 19.01.2015 - 16:07
fonte

2 risposte

8

In base alla documentazione di nginx il parametro ssl_trusted_certificate contiene certificati CA usati per verificare i certificati client e le risposte OCSP se ssl_stapling è abilitato e l'elenco di questi certificati non verrà inviato ai client .

Quindi penso che ciò che ssllabs chiama "Certificati aggiuntivi (se forniti)" sono i certificati nel file ssl_certificate che non sono il certificato del server.

Per me:

public.crt dovrebbe contenere questi 2 certificati:

1) your server certificate
2) StartCom Class 1 Primary Intermediate Server CA 

my-chain.pem dovrebbe contenere questi 2 certificati:

1) StartCom Class 1 Primary Intermediate Server CA // required to validate the server certificate OCSP response 
2) StartCom Certification Authority  // required to validate the intermediate CA certificate OCSP response 
    
risposta data 19.01.2015 - 18:14
fonte
2

Al momento, il certificato del tuo sito fa riferimento a ssl_certificate e un file contenente sia il certificato intermedio che il certificato CA a cui fa riferimento ssl_trusted_certificate

Invece, quello che dovresti fare è avere un file contenente sia il certificato del tuo sito che il cert intermedio a cui fa riferimento ssl_certificate e SOLO il certificato CA a cui fa riferimento ssl_trusted_certificate

vale a dire:

public.crt dovrebbe contenere:

1) your site's cert, issued by StartCom
2) StartCom Class 1 Primary Intermediate Server CA 

e my-chain.pem dovrebbero contenere:

1) StartCom Certification Authority

Sì, l'oppposite di come Apache fa le cose. Ma nginx! = Apache.

    
risposta data 19.01.2015 - 16:40
fonte

Leggi altre domande sui tag