Tengo un certificado de entidad final / servidor que tiene un certificado intermedio y raíz. Cuando cat
en el certificado de entidad final, sólo veo un único BEGIN
y END
etiqueta. Es el único certificado de entidad final.
¿Hay alguna forma de ver el contenido del certificado intermedio y raíz? Solo necesito el contenido BEGIN
y la END
etiqueta.
En Windows puedo ver la cadena completa de cert desde la "Ruta de certificación". A continuación se muestra el ejemplo del certificado de Stack Exchange.
A partir de ahí puedo realizar un certificado de vista y exportarlos. Puedo hacer eso para root e intermedio en Windows. Estoy buscando este mismo método en Linux.
openssl
ssl
certificates
Anirban Nag 'tintinmj'
fuente
fuente
Respuestas:
Desde un sitio web, puede hacer:
Eso mostrará la cadena de certificados y todos los certificados que presentó el servidor.
Ahora, si guardo esos dos certificados en archivos, puedo usar
openssl verify
:La
-untrusted
opción se usa para dar los certificados intermedios;se.crt
es el certificado a verificar. El resultado de la profundidad = 2 provino del almacén de CA de confianza del sistema.Si no tiene los certificados intermedios, no puede realizar la verificación. Así es como funciona X.509.
Dependiendo del certificado, puede contener un URI para obtener el intermedio. Como ejemplo,
openssl x509 -in se.crt -noout -text
contiene:Ese URI de "Emisores de CA" apunta al certificado intermedio (en formato DER, por lo que debe usarlo
openssl x509 -inform der -in DigiCertSHA2HighAssuranceServerCA.crt -out DigiCertSHA2HighAssuranceServerCA.pem
para convertirlo para que OpenSSL lo use).Si ejecuta
openssl x509 -in /tmp/DigiCertSHA2HighAssuranceServerCA.pem -noout -issuer_hash
, obtiene244b5494
, que puede buscar en la tienda de CA raíz del sistema en/etc/ssl/certs/244b5494.0
(solo agregue.0
el nombre).No creo que haya un comando OpenSSL agradable y fácil para hacer todo eso por usted.
fuente
BEGIN
y laEND
etiqueta (que obtendrás despuéscat
de crear el archivo .crt.)openssl x509 -in file.crt -noout -text
BEGIN
yEND
.openssl x509
comando, no creo que el certificado intermedio esté allí. (A menos que tenga algún error deopenssl x509
).tl; dr - one liner bash magic para volcar todos los certificados de la cadena
Explicación en 2 pasos.
Para volcar todos los certificados de la cadena al directorio actual como
cert${chain_number}.pem
:bonus-track para cambiarles el nombre a su nombre común:
fuente