Criando chave pública PEM para o Google App Engine

1

Estou administrando uma pequena empresa e infelizmente meu suporte de TI acabou de sair. Estou executando um site no GAE. Meu SSL expirou e eu pedi um novo, recebendo os seguintes arquivos:

  • 3 arquivos .cer em uma pasta SHA-1
  • 3 arquivos .der em uma pasta SHA-2
  • um arquivo csr.txt
  • um arquivo privatekey.txt

Eu preciso fazer o upload para o Google App Engine, que está pedindo:

  • um certificado X509 codificado por PEM
  • uma chave privada RSA codificada PEM não criptografada

Estou trabalhando no Mac OS. Eu tentei usar openssl e parece ter gerado um arquivo private.pem da fonte privatekey.txt, mas quando eu executo um comando openSSL no arquivo csr.txt eu recebo:

$ openssl x509 -in csr.txt -out public.pem
unable to load certificate
23137:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/
  OpenSSL098-52.8.1/src/crypto/pem/pem_lib.c:648:Expecting: TRUSTED CERTIFICATE

O arquivo csr.txt começa com -----BEGIN CERTIFICATE----- e termina com -----END CERTIFICATE----- sem nada além da chave entre eles.

    
por Adam 27.05.2015 / 11:52

1 resposta

0

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.

    
por 08.06.2015 / 05:52