Nessus sta segnalando che un "Certificato SSL non può essere considerato attendibile".
Ciò è dovuto al fatto che il certificato intermedio non si trova nel pacchetto di certificati presentato durante l'handshake TLS / SSL.
Ho esaminato un paio di thread simili:
-
Usa openssl per verificare singolarmente i componenti di una catena di certificati
-
Come verificare una firma di un'entità da un'altra utilizzando la CLI di OpenSSL?
Questo non è un problema in quanto molti browser scaricheranno certificati intermedi.
Se provo con openssl per verificare il certificato:
openssl s_client -connect example.com:443 -showcerts </dev/null
L'output mostra solo il primo cert e poi un errore unable to get local issuer certificate
.
O se provo link ottengo lo stesso errore:
Chain of trust NOT ok (chain incomplete)
C'è qualche metodo che posso usare che agisce nel modo in cui un browser dovrebbe e scarica qualsiasi cer intermedio?
Anche se c'è un modo per identificare dove scaricare certs intermedi sono felice di codificare qualcosa che farebbe questo, ma è solo sapere cosa cercare nella risposta del certificato del server.
Aggiornamento
Esecuzione
openssl x509 -in g0 -text
fornisce le informazioni AIA per gli URL di download cert intermedi
Authority Information Access:
OCSP - URI:http://ocsp.int-x3.letsencrypt.org
CA Issuers - URI:http://cert.int-x3.letsencrypt.org/
Quindi possiamo eseguire:
wget http://cert.int-x3.letsencrypt.org/ -O intermed.der
Poi
openssl x509 -inform DER -in intermed.der -out intermed.pem -outform PEM
Poi
openssl x509 -in intermed.pem -text
Che dà
Authority Information Access:
OCSP - URI:http://isrg.trustid.ocsp.identrust.com
CA Issuers - URI:http://apps.identrust.com/roots/dstrootcax3.p7c
Ma questo è in un formato diverso e provare a convertirlo dà un errore:
openssl pkcs7 -print_certs -in dstrootcax3.p7c -out dstrootcax3
unable to load PKCS7 object
139884641126208:error:0906D06C:PEM routines:PEM_read_bio:no start line:crypto/pem/pem_lib.c:691:Expecting: PKCS7
Per quanto riguarda il commento di Steffen Ullrich , questo ha senso e spiegherebbe perché a volte funziona meglio di quanto il certificato non possa essere scaricato. Tuttavia, mi piacerebbe ancora capire questo con l'obiettivo finale di utilizzare openssl per verificare l'intera catena, compresi i certificati intermedi scaricabili.