Este tutorial mostrará como gerar manualmente um Solicitação de Assinatura de Certificado (ou CSR) em um ambiente de hospedagem web Apache ou Nginx usando OpenSSL. Clique aqui para um tutorial sobre como pedir certificados, ou aqui para obter mais informações sobre como instalar seu novo certificado SSL.com.
Para obter instruções mais úteis e as últimas notícias sobre segurança cibernética, inscreva-se no boletim informativo do SSL.com aqui:
Vídeo
OpenSSL é um kit de ferramentas de linha de comando de código aberto muito útil para trabalhar com X.509 certificados, solicitações de assinatura de certificado (CSRs) e chaves criptográficas. Se você estiver usando uma variante do UNIX como Linux ou macOS, o OpenSSL provavelmente já está instalado em seu computador. Se você gostaria de usar OpenSSL no Windows, você pode habilitar Subsistema Linux do Windows 10 ou instalar Cygwin.
Nestas instruções, vamos usar o OpenSSL's req
utilitário para gerar a chave privada e CSR em um comando. Gerar a chave privada desta forma garantirá que você será solicitado a fornecer uma frase secreta para proteger a chave privada. Em todos os exemplos de comandos mostrados, substitua os nomes de arquivo mostrados em MAIÚSCULAS pelos caminhos e nomes de arquivo reais que deseja usar. (Por exemplo, você pode substituir PRIVATEKEY.key
de /private/etc/apache2/server.key
em um ambiente macOS Apache.) Este tutorial cobre a geração de ambos RSA e ECDSA chaves.
RSA
O comando OpenSSL abaixo irá gerar uma chave privada RSA de 2048 bits e CSR:
openssl req -newkey rsa: 2048 -keyout PRIVATEKEY.key -out MYCSR.csr
Vamos quebrar o comando:
openssl
é o comando para executar o OpenSSL.req
é o utilitário OpenSSL para gerar um CSR.-newkey rsa:2048
diz ao OpenSSL para gerar uma nova chave privada RSA de 2048 bits. Se você preferir uma chave de 4096 bits, pode alterar esse número para4096
.-keyout PRIVATEKEY.key
especifica onde salvar o arquivo de chave privada.-out MYCSR.csr
especifica onde salvar o CSR arquivo.- Com esses dois últimos itens, lembre-se de usar seus próprios caminhos e nomes de arquivos para a chave privada e CSR, não os marcadores de posição.
Depois de digitar o comando, pressione entrar. Você verá uma série de prompts:
- Primeiro crie e verifique uma frase secreta. Lembre-se desta frase secreta porque você precisará dela novamente para acessar sua chave privada.
- Agora você será solicitado a inserir as informações que serão incluídas em seu CSR. Essa informação também é conhecida como Nome distintoou DN. O Nome comum campo é exigido por SSL.com ao enviar seu CSR, mas os outros são opcionais. Se você gostaria de pular um item opcional, basta digitar entrar quando aparece:
- O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da Nome País (opcional) leva duas letras Código do país.
- O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da Nome da localidade campo (opcional) é para sua cidade ou município.
- O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da Nome da Organização campo (opcional) é para o nome de sua empresa ou organização.
- O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da Nome comum campo (obrigatório) é usado para o Nome de domínio totalmente qualificado (FQDN) do site que este certificado irá proteger.
- Email (Opcional)
- O Plano de Ação Global para Saúde Mental XNUMX-XNUMX da Senha do Desafio campo é opcional e também pode ser ignorado.
Após a conclusão deste processo, você retornará ao prompt de comando. Você não receberá nenhuma notificação de que seu CSR foi criado com sucesso.
ECDSA
Para criar uma chave privada ECDSA com o seu CSR, você precisa invocar um segundo utilitário OpenSSL para gerar os parâmetros para a chave ECDSA.
Este comando OpenSSL irá gerar um arquivo de parâmetro para uma chave ECDSA de 256 bits:
openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve: P-256 -out ECPARAM.pem
openssl genpkey
executa o utilitário do openssl para geração de chave privada.-genparam
gera um arquivo de parâmetro em vez de uma chave privada. Você também pode gerar uma chave privada, mas usando o arquivo de parâmetro ao gerar a chave e CSR garante que você será solicitado a inserir uma frase secreta.-algorithm ec
especifica um algoritmo de curva elíptica.-pkeyopt ec_paramgen_curve:P-256
escolhe uma curva de 256 bits. Se você preferir uma curva de 384 bits, altere a parte após os dois pontos paraP-384
.-out ECPARAM.pem
fornece um caminho e um nome de arquivo para o arquivo de parâmetro.
Agora, especifique seu arquivo de parâmetro ao gerar o CSR:
openssl req -newkey ec: ECPARAM.pem -keyout PRIVATEKEY.key -out MYCSR.csr
O comando é o mesmo que usamos no exemplo RSA acima, mas -newkey RSA:2048
foi substituído por -newkey ec:ECPARAM.pem
. Como antes, será solicitada uma frase secreta e informações de Nome distinto para o CSR.
Se desejar, você pode usar o redirecionamento para combinar os dois comandos OpenSSL em uma linha, ignorando a geração de um arquivo de parâmetro, da seguinte maneira:
openssl req -newkey ec: <(openssl genpkey -genparam -algorithm ec -pkeyopt ec_paramgen_curve: P-256) -keyout PRIVATEKEY.key -out MYCSR.csr
Next Passos
Para obter mais informações sobre como instalar seu certificado, leia aqui, para vinculação com o IIS 10, Leia aqui.