Estoy tratando de escribir un código que recibe un archivo pcap
como entrada y devuelve certificados no válidos.
He analizado las cadenas de certificados y estoy intentando verificarlas.
Debido a que obtengo las cadenas de certificados de un pcap
, la longitud de la cadena no es constante (a veces incluyen solo 1 certificado que está autofirmado (y es válido)).
Deje que cert0.pem
sea el certificado de servidores y certk.pem
el certificado de CA raíz.
Según mi investigación en línea, estoy intentando verificar el certificado de la siguiente manera:
-
Cree un archivo
certs.pem
que contenga la cadena de certificados en el orden:
certk.pem
,certk-1.pem
, ...,cert0.pem
-
use el comando (
ca.pem
es un archivo que contiene certificados raíz):openssl verify -CAfile ca.pem certs.pem
Pero a veces la verificación falla incluso para certificados válidos, como en la siguiente salida:
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
por favor, ayúdame, ¿cómo puedo verificar la cadena de certificados?
Además, ¿hay una manera de agregar una verificación de nombre de host en la misma línea? (He intentado agregar " -verify_hostname name
" pero, nuevamente, el resultado fue inesperado).