Como disse RandomBen, os certificados autoassinados geralmente são desaprovados pelas razões que ele explicou. Mas há uma situação em que eles estão bem: se o conjunto de pessoas que precisam enviar dados confidenciais para o seu site for pequeno e limitado, todos eles são tecnicamente competentes e você pode se comunicar com todos eles. Nesse caso, você pode fornecer a cada pessoa os detalhes do certificado e, em seguida, eles podem verificar o certificado manualmente quando acessam o site e adicionar uma exceção de segurança, se apropriado.
Como exemplo extremo, no meu VPS pessoal, tenho um subdomínio administrativo, que só deve ser acessado por mim. Não haveria problema em proteger esse domínio com um certificado autoassinado, pois posso verificar manualmente se o certificado do servidor usado para proteger a conexão é o mesmo que eu instalei no servidor.
Nos casos em que um certificado autoassinado não funciona ou você prefere um "real", recomendo o Let's Encrypt , um projeto iniciado pelo Internet Security Research Group e apoiado por grandes empresas de Internet, que oferece certificados SSL em sem custo. Eles podem fazer isso porque o processo de verificação usado é completamente automatizado e, de fato, um servidor da Web que suporta o protocolo ACME (como o Caddy , que atualmente uso) pode obter certificados totalmente por conta própria. Vamos Criptografar não verifica se você, como pessoa, é quem você diz que é; verifica apenas se o seu servidor da web é capaz de veicular conteúdo no domínio ao qual afirma. O Let's Encrypt é suportado por todos os principais navegadores, mas é sabido que a verificação é mínima. Portanto, se você estiver executando algo como um site de comércio eletrônico ou qualquer coisa em que as pessoas enviem informações confidenciais, provavelmente gaste o dinheiro para obter uma certificado com um nível mais alto de validação.
Eu costumava recomendar os certificados StartSSL gratuitos da StartCom para pessoas que não queriam pagar pela validação, mas não mais. A StartCom foi adquirida secretamente pela WoSign em 2016 e posteriormente emitiu certificados ilegítimos para vários domínios. Como resultado, os principais navegadores removeram o suporte aos certificados StartCom. (Até onde eu sei, o IE nunca os apoiou de qualquer maneira.) De qualquer forma, o Let's Encrypt é muito mais conveniente.