¿Los certificados SSL / X.509 cubren todos los puertos para un host?

22

¿O los certificados son específicos del host y del puerto (excepto los certificados de comodín)?

Supongo que no lo están, porque se supone que deben verificar un dominio, pero al mismo tiempo nunca he visto a nadie ejecutar HTTPS en ningún puerto que no sea 443, y solo he visto X.509 Certificados utilizados junto con HTTPS, así que a pesar del hecho de que la respuesta es probablemente "no", quería verificar.

    
pregunta Parthian Shot 10.07.2014 - 19:39
fuente

2 respuestas

23

En teoría, puedes poner todo lo que quieras en un certificado; por ejemplo, este certificado en realidad contiene un archivo de video como "Nombre alternativo del sujeto" (sorprendentemente, Windows no tiene problemas para decodificar un certificado de 1.2 MB, pero lamentablemente no muestra el video). Sin embargo, en la práctica, los certificados "para SSL" solo contienen el nombre del servidor deseado , como se especifica en RFC 2818 . El cliente (navegador web) verificará que el nombre de la URL aparezca en el certificado. No hay un estándar para almacenar un número de puerto en el certificado, y ningún cliente verificará la presencia de ese número de puerto de todos modos, por lo que, en pocas palabras, los certificados no son específicos del puerto. La noción de "identidad" que los certificados manipulan y encarnan no incluye la noción de "puerto".

    
respondido por el Thomas Pornin 10.07.2014 - 20:44
fuente
-4

Parece que importa si necesita la huella digital de un certificado y obtiene hashes diferentes cuando se usa en puertos diferentes y necesita usar SSL en ambos. No estoy muy seguro de por qué esto es así, pero con el período de vigencia de los certificados de 90 días sigo teniendo que actualizar mi configuración de fetchmail hasta que descubra cómo obtenerla para verificar la cadena completa de confianza.

rich@mars:~$ echo | openssl s_client -connect subdomain.example.net:993 -showcerts | openssl x509 -fingerprint -noout -md5
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify error:num=20:unable to get local issuer certificate
verify return:0
DONE
MD5 Fingerprint=D6:2F:CD:EF:D3:26:5A:B5:15:24:E5:55:1F:99:B8:B9
rich@mars:~$ echo | openssl s_client -connect subdomain.example.net:443 -showcerts | openssl x509 -fingerprint -noout -md5
depth=1 C = US, O = Let's Encrypt, CN = Let's Encrypt Authority X3
verify error:num=20:unable to get local issuer certificate
verify return:0
DONE
MD5 Fingerprint=7C:3B:53:41:55:43:F7:B6:F5:BE:C9:8F:E3:CD:BD:A1
    
respondido por el Richard Copsewood 23.01.2018 - 17:26
fuente

Lea otras preguntas en las etiquetas