web-dev-qa-db-fra.com

Le certificat SSL auto-signé peut-il être renouvelé? Comment?

Je connais assez bien les certificats SSL et souhaiterais savoir si un certificat auto-signé que j'utilise pour HTTPS peut être renouvelé pour en étendre la date d'expiration sans que tous les clients du site aient à passer par le processus "autoriser les exceptions" dont ils disposent. à faire lorsqu’ils visitent le site pour la toute première fois ou lorsqu’ils émettent un nouveau certificat auto-signé créé de toutes pièces.

J'ai trouvé le didacticiel suivant montrant comment renouveler un certificat auto-signé en utilisant openssl mais je n’ai pas pu l’utiliser de sorte que mon navigateur l’accepte en silence sans afficher l’écran d’avertissement "Site non approuvé":

  # 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

Ma configuration est à peu près celle décrite dans cette réponse et j'utilise des fichiers CRT et KEY (de ce tutoriel ) au lieu d'un fichier PEM, alors peut-être que j'ai raté quelque chose en essayant de l'appliquer à mon cas.

Là encore, j’ai trouvé de nombreuses entrées de forum suggérant qu’il est tout à fait impossible de renouveler un certificat auto-signé et je dois en créer un nouveau à partir de zéro.

Toute aide serait appréciée ... ou cette question serait mieux adaptée à https://serverfault.com/ ou https://superuser.com/ ?

18
FriendFX

Par définition, un certificat auto-signé ne peut être approuvé que par l’intermédiaire de confiance directe , c’est-à-dire ce que les navigateurs Web comme Firefox affichent comme processus "autoriser les exceptions". Un certificat très spécifique, jusqu'au dernier bit, est déclaré "approuvé". Rien ne peut être modifié dans un certificat sans sortir de ce modèle, et en particulier de la date d'expiration, qui fait partie des données contenues dans le certificat.

Vous pouvez imaginer le renouvellement comme une sorte d’affaire familiale: quand un certificat est "renouvelé", il est en fait remplacé par un frère plus jeune. Les clients acceptent le nouveau certificat en mode silencieux car il partage la même ascendance que le certificat précédent. Les certificats auto-signés sont des orphelins intrinsèques: ils n’ont pas d’ascendance. Par conséquent, pas de frères et soeurs, et pas de transmission automatique.

(En dehors de cette ascendance, le renouvellement est la création d’un nouveau certificat. Les certificats sont immuables . Le "renouvellement" est une façon de penser au relation entre l’ancien et le nouveau certificat.)

Si vous voulez pouvoir effectuer des renouvellements silencieux, vous avez besoin d'un certificat auto-signé CA. Vous émettez des certificats pour votre ou vos serveur (s) à partir de cette autorité de certification et vous demandez à vos clients de faire confiance à cette autorité de certification. Bien sûr, cela demande beaucoup: une autorité de certification en laquelle vous avez confiance est une autorité de certification qui peut simuler tout l’Internet à vos yeux. Fondamentalement, cette solution consiste à créer et à gérer votre propre autorité de certification, ce qui est une responsabilité et du travail.


La prochaine fois que vous produirez un certificat auto-signé, faites-le vivre longtemps Les certificats expirent principalement pour permettre la révocation (l’expiration du certificat empêche la liste de révocation de certificats de grandir indéfiniment). Pour un certificat auto-signé, il n'y a pas de révocation, vous pouvez donc rendre le certificat valide pendant 20 ans. Ou pour 2000 ans, d'ailleurs (bien que le problème de l'année 2038 puisse apparaître à un moment donné, en fonction du logiciel client).

23
Tom Leek

Réponse courte: non.

Faire confiance à un certificat auto-signé revient à faire confiance à un passeport individuel au lieu du pays qui le délivre. Si vous obtenez un nouveau passeport, il ne sera pas automatiquement approuvé par quelqu'un qui a fait confiance à l'ancien, en particulier parce que c'est une chose différente avec des attributs différents (numéro de passeport, dates, etc.); il n’existe aucune raison pour que quelqu'un qui fait explicitement confiance à l’ancien passeport sache que le nouveau passeport est fiable.

2
Liam Dennehy

Si vous utilisez des certificats auto-signés (je recommande d'utiliser xca sous Windows), vous pouvez simplement régler la date d'expiration sur 7999-12-31 (c'est la durée maximale pour l'UTC) et la date initiale sur 1970-01-01 (For compatibilité avec une date/heure mal configurée dans les PC)

0
H3LL0