Soy bastante nuevo en los certificados SSL y me gustaría saber si un certificado autofirmado que utilizo para HTTPS puede renovarse para extender su fecha de vencimiento sin que todos los clientes del sitio tengan que pasar por el proceso de "permitir excepción" que tienen hacer cuando visitan el sitio por primera vez o, como cuando emiten un nuevo certificado autofirmado creado desde cero.
Me encontré con el siguiente tutorial que muestra cómo renovar un certificado autofirmado utilizando openssl
, pero yo no era capaz de utilizarlo de manera que mi navegador en silencio lo acepta sin demostrar que "Sitio no es de confianza" pantalla de advertencia:
# cd /etc/apache2/ssl
# openssl genrsa -out togaware.com.key 1024
# chmod 600 togaware.com.key
# openssl req -new -key togaware.com.key -out togaware.com.csr
AU
ACT
Canberra
Togaware
Data Mining
Kayon Toga
[email protected]
(no challenge password)
# openssl x509 -req -days 365 -in togaware.com.csr \
-signkey togaware.com.key -out togaware.com.crt
# mv apache.pem apache.pem.old
# cp togaware.com.key apache.pem
# cat togaware.com.crt >> apache.pem
# chmod 600 apache.pem
# wajig restart apache2
Mi configuración es más o menos como se describe en esta respuesta y estoy usando archivos CRT y KEY (de este tutorial ) en lugar de un archivo PEM, por lo que tal vez me equivoqué al tratar de aplicarlo a mi caso.
Por otra parte, encontré muchas entradas en el foro que sugieren que es completamente imposible renovar un certificado autofirmado y tengo que crear uno nuevo desde cero.
Cualquier ayuda sería apreciada ... ¿o esta pregunta sería mejor para /server// o /superuser// ?
fuente
Respuestas:
Por definición, se puede confiar en un certificado autofirmado solo a través de la confianza directa , es decir, lo que los navegadores web como Firefox muestran como el proceso de "permitir excepción". Un certificado muy específico, hasta el último bit, se declara como "confiable". No se puede cambiar nada en un certificado sin salir de este modelo y, en particular, la fecha de vencimiento, que es parte de los datos contenidos en el certificado.
Puede imaginar la renovación como una especie de cosa familiar: cuando un certificado se "renueva", en realidad lo reemplaza un hermano menor. Los clientes aceptan el nuevo certificado en silencio porque comparte la misma ascendencia que el certificado anterior. Los certificados autofirmados son huérfanos intrínsecos: no tienen ascendencia. Por lo tanto, no hay hermanos y no hay transmisión automática.
(Aparte de esta cuestión ancestral, la renovación es la creación de un nuevo certificado. Los certificados son inmutables . La "renovación" es una forma de pensar sobre la relación entre los certificados antiguos y los nuevos).
Si usted quiere ser capaz de hacer renovaciones en silencio, entonces usted necesita un auto firmado CA certificado . Emite certificados para su servidor (s) de esa CA y le pide a sus clientes que confíen en esa CA. Por supuesto, esto está pidiendo mucho: una CA en la que confía es una CA que puede simular todo Internet en sus ojos. Básicamente, esta solución se trata de crear y mantener su propia CA, que es una responsabilidad y algo de trabajo.
La próxima vez que produzca un certificado autofirmado, hágalo de larga duración. Los certificados caducan principalmente para que la revocación funcione (la caducidad del certificado evita que CRL crezca indefinidamente). Para un certificado autofirmado, no hay revocación, por lo que puede hacer que el certificado sea válido por 20 años. O para 2000 años, para el caso (aunque el problema del año 2038 podría aparecer en algún momento, dependiendo del software del cliente).
fuente
Respuesta corta: no.
Confiar en un certificado autofirmado es como confiar en un pasaporte individual en lugar del país que lo emite. Si obtiene un pasaporte nuevo, alguien que confió en el anterior no confiará automáticamente en él, específicamente porque es una cosa diferente con diferentes atributos (número de pasaporte, fechas, etc.); no hay base para que alguien confíe explícitamente en el pasaporte antiguo para saber que se puede confiar en el nuevo.
fuente
Si usa certificados autofirmados (recomiendo usar xca en Windows), simplemente puede establecer la fecha de vencimiento en 7999-12-31 (ese es el tiempo máximo para UTC) y la fecha inicial para 1970-01-01 (para compatibilidad con fecha / hora mal configurada en PC)
fuente