Sto provando a scrivere un codice che riceve un file pcap come input e restituisce i certificati non validi da esso.
Ho analizzato le catene di certificati e sto provando a verificarle.
Poiché ottengo le catene di certificati da un pcap , la lunghezza della catena non è costante (a volte include solo un certificato autofirmato (e valido)).
Lascia che cert0.pem sia il certificato dei server e certk.pem il certificato delle CA radice.
Secondo la mia ricerca online sto provando a verificare il certificato come segue:
-
Crea un file
certs.pemche contiene la catena di certificati nell'ordine:
certk.pem,certk-1.pem, ...,cert0.pem -
usa il comando (
ca.pemè un file contenente i certificati di origine):openssl verify -CAfile ca.pem certs.pem
Ma a volte la verifica non funziona, anche per i certificati validi, come nel seguente output:
C = US, O = GeoTrust Inc., CN = GeoTrust Global CA <br>
error 20 at 0 depth lookup: unable to get local issuer certificate<br>
error certs.pem: verification failed
per favore aiutami, come posso verificare la catena di certificati?
Inoltre c'è un modo per aggiungere una verifica del nome host nella stessa riga? (Ho provato ad aggiungere " -verify_hostname name " ma ancora, l'output era inaspettato).