4 votos

La Verificación De Los Certificados Cumplen Los Requisitos De Apple

hay un comando o una interfaz de usuario que puede utilizar para certificados de prueba o diagnosticar por lo que no son válidos?

Hace un tiempo Apple ha cambiado los requisitos para los certificados TLS, y anunció las fechas de cuando los cambios surtan efecto. Por ejemplo, no aceptar los certificados que duran más de 865 días, requiriendo que los atributos extendidos, etc.

Si yo uso un certificado de Chrome/Safari no me digas por qué no se considerará válido si es una Manzana forzada razón, tales como los de arriba.

Sería genial contar con una depuración de paso que me cuentes si un certificado es o no es bueno, que incluye las restricciones de Apple.

Aclaración: no estoy interesado en la generación de los certificados o de cómo un código. Sólo quiero saber cómo comprobar si un determinado certificado es válido para un sistema MacOS usar el terminal o algún otro sistema operativo de interfaz de usuario

5voto

Evgeny Puntos 1387

Así que resulta que hay un nivel de SO herramienta, security

Por ejemplo, puedo probar si un certificado ca.crt es válido como este:

security verify-cert -c ca.crt

He aquí lo que es un certificado válido aspecto:

❯ security verify-cert -c ca.crt
...certificate verification successful.

Y aquí está un certificado con 10 años de vencimiento que viole las Manzanas reglas, pero de lo contrario es válido de acuerdo a OpenSSH:

❯ security verify-cert -c ca.crt
Cert Verify Result: CSSMERR_TP_NOT_TRUSTED

1voto

Garex Puntos 339

Hay dos posibles maneras de utilizar la CLI para comprobar la validez de los certificados:

  1. Usted tiene el certificado de archivos en un lugar accesible en su disco duro.
  2. Usted sólo tiene instalados, pero no se puede acceder al disco duro.

El número uno necesita un poco más de la CLI de trabajo, el número dos se puede hacer en línea y muestra la completa cadena de certificados.

  1. Usted tiene el certificado de archivos en un lugar accesible en su disco duro. Para comprobar el archivo de certificado, necesitamos saber en que formato están. Aquí está un ejemplo con un PEM formato de archivo:

    openssl x509 -en el nombre de archivo de texto

También puede elegir el formato de entrada con

openssl x509 -inform PEM -in FILENAME -text

(PEM es el predeterminado) Que le da una bastante larga de texto de salida en cada archivo de certificado y tiene que validar el emisor, de la CN, la fecha de caducidad de forma manual mediante la comparación de la CA o de certificados root. El segundo método se vienen más a la mano:

  1. Usted sólo tiene instalados, pero no se puede acceder al disco duro.

Usted puede utilizar el openssl s_client de comandos para validar la cadena completa.

openssl s_client -connect YOURSERVER:SSLPORT

Usted verá inmediatamente el certificado Y la root y de la cadena de openssl está diciendo que las fechas de caducidad y así sucesivamente. He aquí un ejemplo de mi página web personal:

openssl s_client -connect FQDN-DELETED:443
CONNECTED(00000005)
depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
verify return:1
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify return:1
depth=0 CN = FQDN-DELETED
verify return:1
---
Certificate chain
 0 s:/CN=FQDN-DELETED
   i:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
 1 s:/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
   i:/O=Digital Signature Trust Co./CN=DST Root CA X3
...
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIGUzCCBTugAwIBAgISA+Y4i63Ury6g85b3DghU9muyMA0GCSqGSIb3DQEBCwUA
...
-----END CERTIFICATE-----
subject=/CN=FQDN-DELETED
issuer=/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3
---
No client certificate CA names sent
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 3742 bytes and written 322 bytes
---
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 4096 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
...

Hay mucha más salida - sólo echar un vistazo. Me envían de vuelta a sus preguntas, si usted tiene.

0voto

Oskar Puntos 1242

Apple ha anunciado algunos cambios para certificados root que viene después del 1 de septiembre de 2020.

TLS servidor de certificados emitidos en o después del 1 de septiembre de 2020, a las 00:00 GMT/UTC no debe tener un período de validez mayor que 398 días.

Este cambio sólo afectará a los TLS servidor de certificados emitidos a partir de la Raíz CAs preinstalado con iOS, iPadOS, macOS, watchOS, y tvOS

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X