Este comando não irá funcionar: openssl x509 -in csr.txt -out public.pem
. Você precisa gerar uma solicitação de assinatura ou CSR.
Para criar uma nova solicitação de assinatura, faça o seguinte:
openssl req -key privatekey.txt -keyform PEM -days 365 -out example-com.req.pem
Para instruções mais detalhadas, consulte Como criar facilmente um certificado SSL e configurá-lo no Apache2 no Mac OS X? o CSR, e não se preocupe muito com coisas como o Apache.
Você pode inspecionar a solicitação de assinatura com:
openssl req -in example-com.req.pem -text -noout
Não há requisitos de nomenclatura. Por acaso, uso site.type.encoding
. Aqui estão alguns exemplos:
-
example-com.req.pem
- assinando solicitação para example.com no formato PEM -
example-com.req.der
- solicitação de assinatura de example.com no formato DER -
example-com.cert.pem
- certificado para example.com no formato PEM -
example-com.cert.der
- certificado para example.com no formato DER
Isso pode ser um ponto de discórdia, mas ... NÃO cria uma nova chave. Em vez disso, use a chave existente, desde que ela não tenha sido comprometida.
A continuidade de chaves é uma propriedade de segurança mais desejável que a rotação de chaves. A continuidade das chaves também funciona bem com a RFC 7469, Host Public Key Pinning para HTTP . Se você gerar uma nova chave, você efetivamente quebrará um bom conjunto de pinos usado pelo HPKP e outros esquemas de imobilização.
Dependendo da sua postura de segurança, você pode considerar a chave existente potencialmente comprometida porque o antigo administrador de TI saiu. Se for esse o caso, gere um novo par de chaves.
Além disso, você pode obter certificados de servidor Classe 1 gratuitos em StartCom e CAcert . Eu sei que os certificados da StartCom são confiáveis para a maioria dos (todos?) Navegadores de desktop e móveis.