Comme l'a dit RandomBen, les certificats auto-signés sont généralement mal vus pour les raisons qu'il a expliquées. Mais il y a une situation dans laquelle ils vont bien: si l'ensemble des personnes qui doivent soumettre des données sensibles à votre site Web est petit et limité, elles sont toutes quelque peu techniquement compétentes et vous êtes en mesure de communiquer avec toutes. Dans ce cas, vous pouvez donner à chaque personne les détails du certificat, puis ils peuvent vérifier manuellement le certificat lorsqu'ils se rendent sur votre site et ajouter une exception de sécurité le cas échéant.
À titre d'exemple extrême, sur mon VPS personnel, j'ai un sous-domaine administratif, auquel je ne devrais accéder que par moi. Il n'y aurait aucun problème à sécuriser ce domaine avec un certificat auto-signé car je peux vérifier manuellement que le certificat de serveur utilisé pour sécuriser la connexion est le même que j'ai installé sur le serveur.
Dans les cas où un certificat auto-signé ne fonctionnera pas ou si vous préférez en avoir un "réel", je recommande Let's Encrypt , un projet lancé par Internet Security Research Group et soutenu par les principales sociétés Internet, qui propose des certificats SSL sur sans frais. Ils peuvent le faire parce que le processus de vérification qu'ils utilisent est complètement automatisé, et en fait, un serveur Web qui prend en charge leur protocole ACME (comme Caddy , que j'utilise actuellement) peut obtenir des certificats entièrement par lui-même. Let's Encrypt ne vérifie pas que vous, en tant que personne, êtes ce que vous dites que vous êtes; il vérifie uniquement que votre serveur Web est capable de diffuser du contenu sur le domaine auquel il prétend. Let's Encrypt est pris en charge par tous les principaux navigateurs, mais il est bien connu que la vérification est minime, donc si vous exécutez quelque chose comme un site de commerce électronique ou quoi que ce soit où les gens soumettront des informations sensibles, vous devriez probablement dépenser de l'argent pour obtenir un certificat avec un niveau de validation plus élevé.
J'avais l'habitude de recommander les certificats gratuits StartSSL de StartCom pour les personnes qui ne voulaient pas payer pour la validation, mais plus maintenant. StartCom a été secrètement acquis par WoSign en 2016 et a ensuite délivré des certificats illégitimes pour plusieurs domaines. En conséquence, les principaux navigateurs ont supprimé leur prise en charge des certificats StartCom. (Pour autant que je sache, IE ne les a jamais pris en charge de toute façon.) En tout cas, Let's Encrypt est beaucoup plus pratique.