O certificado SSL autoassinado pode ser renovado? Como?

16

Sou relativamente novo em certificados SSL e gostaria de saber se um certificado autoassinado que eu uso para HTTPS pode ser renovado para estender sua data de expiração sem que todos os clientes do site tenham que passar pela "exceção de permissão" processo que eles precisam fazer quando visitam o site pela primeira vez ou, como quando emitem um novo certificado autoassinado criado do zero.

Eu encontrei as seguintes tutorial mostrando como renovar um certificado autoassinado usando openssl , mas não consegui usá-lo de forma que meu navegador silenciosamente aceita sem mostrar essa tela de aviso "Site não confiável":

  # 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

Minha configuração está praticamente descrita em esta resposta e estou usando arquivos CRT e KEY (de < um href="http://www.akadia.com/services/ssh_test_certificate.html"> este tutorial ) em vez de um arquivo PEM, então talvez eu estraguei algo tentando aplicá-lo ao meu caso.

Então, novamente, encontrei muitas entradas no fórum sugerindo que é totalmente impossível renovar um certificado auto-assinado e tenho que criar um novo a partir do zero.

Qualquer ajuda seria apreciada ... ou essa pergunta seria mais adequada ao link ou link ?

    
por FriendFX 21.07.2013 / 08:27

3 respostas

21

Por definição, um certificado autoassinado pode ser confiável apenas por meio de confiança direta , ou seja, navegadores da Web como o Firefox são exibidos como o processo "permitir exceção". Um certificado muito específico, até o último bit, é declarado como "confiável". Nada pode ser alterado em um certificado sem sair desse modelo e, em particular, a data de expiração, que faz parte dos dados contidos no certificado.

Você pode imaginar a renovação como um tipo de coisa familiar: quando um certificado é "renovado", ele é realmente substituído por um irmão mais novo. Os clientes aceitam o novo certificado silenciosamente porque ele compartilha o mesmo ancestral do certificado anterior. Certificados auto-assinados são órfãos intrínsecos: eles não têm ancestralidade. Portanto, nenhum irmão e nenhuma transmissão automática.

(Além desta coisa de ancestralidade, renovação é a criação de um novo certificado. Os certificados são imutáveis . "Renovação" é uma maneira de pensar sobre a relação entre o antigos e os novos certificados.)

Se você quiser fazer renovações silenciosas, precisará de um certificado CA certificado . Você emite certificados para seu (s) servidor (es) dessa autoridade de certificação e solicita a seus clientes que confiem nessa autoridade de certificação. Claro que isso é pedir muito: uma CA em quem você confia é uma CA que pode fingir toda a Internet aos seus olhos. Basicamente, esta solução é sobre criar e manter sua própria CA, que é uma responsabilidade e algum trabalho.

Na próxima vez que você produzir um certificado autoassinado, torne-o de longa duração. Os certificados expiram principalmente para fazer o trabalho de revogação (a expiração do certificado impede que a CRL cresça indefinidamente). Para um certificado autoassinado, não há revogação, portanto, você pode tornar o certificado válido por 20 anos. Ou por 2000 anos, embora o Problema do ano 2038 possa aparecer em algum momento, dependendo do software do cliente ).

    
por 21.07.2013 / 15:38
1

Resposta curta: Não.

Confiar em um certificado autoassinado é como confiar em um passaporte individual em vez do país que emite esse passaporte. Se você obtiver um novo passaporte, ele não será automaticamente confiado por alguém que confie no antigo, especificamente porque é uma coisa diferente com atributos diferentes (número do passaporte, datas etc); não há nenhuma base para alguém que confie explicitamente no passaporte antigo para saber que o novo pode ser confiável.

    
por 24.07.2017 / 16:34
0

Se você estiver usando certificados auto-assinados (eu recomendo usar o xca no Windows), você pode simplesmente definir a data de vencimento para 7999-12-31 (esse é o tempo máximo para o UTC) e a data inicial para 1970-01- 01 (Para compatibilidade com hora / data configuradas incorretamente em PCs)

    
por 23.05.2017 / 19:20