Como ser sua própria autoridade de certificação (com fotos)

Índice:

Como ser sua própria autoridade de certificação (com fotos)
Como ser sua própria autoridade de certificação (com fotos)

Vídeo: Como ser sua própria autoridade de certificação (com fotos)

Vídeo: Como ser sua própria autoridade de certificação (com fotos)
Vídeo: SEGURANÇA! COMO ATIVAR A AUTENTICAÇÃO DE DOIS FATORES NO INSTAGRAM 2024, Maio
Anonim

Obter um certificado SSL de qualquer uma das principais autoridades de certificação (CAs) pode custar US $ 100 ou mais. Adicione à mistura, notícias que parecem indicar que nem todas as CAs estabelecidas podem ser confiáveis 100% do tempo e você pode decidir contornar a incerteza e eliminar o custo sendo sua própria Autoridade de Certificação.

Passos

Parte 1 de 4: Criando seu Certificado CA

Seja sua própria autoridade de certificação, etapa 1
Seja sua própria autoridade de certificação, etapa 1

Etapa 1. Gere a chave privada de sua CA, emitindo o seguinte comando

  • openssl genrsa -des3 -out server. CA.key 2048

  • As opções explicadas

    • openssl - o nome do software
    • genrsa - cria uma nova chave privada
    • -des3 - criptografa a chave usando a cifra DES
    • -out server. CA.key - o nome da sua nova chave
    • 2048 - o comprimento, em bits, da chave privada (consulte os avisos)
  • Guarde este certificado e a senha em um local seguro.
Seja sua própria autoridade de certificação, etapa 2
Seja sua própria autoridade de certificação, etapa 2

Etapa 2. Crie uma solicitação de assinatura de certificado

  • openssl req -verbose -new -key server. CA.key -out server. CA.csr -sha256

  • As opções explicadas:

    • req - Cria um Pedido de Assinatura
    • -verbose - mostra detalhes sobre a solicitação conforme ela está sendo criada (opcional)
    • -new - cria uma nova solicitação
    • -key server. CA.key - A chave privada que você acabou de criar acima.
    • -out server. CA.csr - O nome do arquivo da solicitação de assinatura que você está criando
    • sha256 - O algoritmo de criptografia a ser usado para assinar solicitações (se você não sabe o que é, não altere isso. Você só deve alterar isso se souber o que está fazendo)
Seja sua própria autoridade de certificação, etapa 3
Seja sua própria autoridade de certificação, etapa 3

Etapa 3. Preencha as informações o máximo possível

  • Nome do país (código de 2 letras) [AU]:

    nós

  • Nome do estado ou província (nome completo) [algum estado]:

    CA

  • Nome da localidade (por exemplo, cidade) :

    Vale do Silício

  • Nome da organização (por exemplo, empresa) [Internet Widgits Pty Ltd]:

    wikiHow, Inc.

  • Nome da unidade organizacional (por exemplo, seção) :
  • Nome comum (por exemplo, FQDN do servidor ou SEU nome) :

  • Endereço de e-mail :

Seja sua própria autoridade de certificação, etapa 4
Seja sua própria autoridade de certificação, etapa 4

Etapa 4. Autoassine seu certificado:

  • openssl ca -extensions v3_ca -out servidor. CA-assinado.crt -keyfile servidor. CA.key -verbose -selfsign -md sha256 -enddate 330630235959Z -infiles servidor. CA.csr

  • As opções explicadas:

    • ca - Carrega o módulo da Autoridade de Certificação
    • -extension v3_ca - Carrega a extensão v3_ca, um must-have para uso em navegadores modernos
    • -out server. CA-signed.crt - O nome de sua nova chave assinada
    • -keyfile server. CA.key - A chave privada que você criou na etapa 1
    • -verbose - mostra detalhes sobre a solicitação conforme ela está sendo criada (opcional)
    • -selfsign - Diz ao openssl que você está usando a mesma chave para assinar o pedido
    • -md sha256 - O algoritmo de criptografia a ser usado para a mensagem. (Se você não sabe o que é, não mude. Você só deve mudar se souber o que está fazendo)
    • -enddate 330630235959Z - A data de término do certificado. A notação é YYMMDDHHMMSSZ onde Z está em GMT, às vezes conhecido como horário "Zulu".
    • -infiles server. CA.csr - o arquivo de solicitação de assinatura que você criou na etapa acima.
Seja sua própria autoridade de certificação, etapa 5
Seja sua própria autoridade de certificação, etapa 5

Etapa 5. Inspecione seu certificado CA

  • openssl x509 -noout -text -in server. CA.crt
  • As opções explicadas:

    • x509 - carrega o módulo x509 para inspecionar certificados assinados.
    • -noout - Não produz o texto codificado
    • -text - exibe as informações na tela
    • -in server. CA.crt - Carrega o certificado assinado
  • O arquivo server. CA.crt pode ser distribuído para qualquer pessoa que usará seu site ou usará certificados que você planeja assinar.

Parte 2 de 4: Criando certificados SSL para um serviço, como o Apache

Seja sua própria autoridade de certificação, etapa 6
Seja sua própria autoridade de certificação, etapa 6

Etapa 1. Crie uma chave privada

  • openssl genrsa -des3 -out server.apache.key 2048

  • As opções explicadas:

    • openssl - o nome do software
    • genrsa - cria uma nova chave privada
    • -des3 - criptografa a chave usando a cifra DES
    • -out server.apache.key - o nome da sua nova chave
    • 2048 - o comprimento, em bits, da chave privada (consulte os avisos)
  • Guarde este certificado e a senha em um local seguro.
Seja sua própria autoridade de certificação, etapa 7
Seja sua própria autoridade de certificação, etapa 7

Etapa 2. Crie uma solicitação de assinatura de certificado

  • openssl req -verbose -new -key server.apache.key -out server.apache.csr -sha256

  • As opções explicadas:

    • req - Cria um Pedido de Assinatura
    • -verbose - mostra detalhes sobre a solicitação conforme ela está sendo criada (opcional)
    • -new - cria uma nova solicitação
    • -key server.apache.key - A chave privada que você acabou de criar acima.
    • -out server.apache.csr - O nome do arquivo da solicitação de assinatura que você está criando
    • sha256 - O algoritmo de criptografia a ser usado para assinar solicitações (se você não sabe o que é, não altere isso. Você só deve alterar isso se souber o que está fazendo)
Seja sua própria autoridade de certificação, etapa 8
Seja sua própria autoridade de certificação, etapa 8

Etapa 3. Use seu certificado CA para assinar a nova chave

  • openssl ca -out server.apache.pem -keyfile server. CA.key -infiles server.apache.csr

  • As opções explicadas:

    • ca - Carrega o módulo da Autoridade de Certificação
    • -out server.apache.pem - O nome do arquivo do certificado assinado
    • -keyfile server. CA.key - O nome do arquivo do certificado CA que assinará a solicitação
    • -infiles server.apache.csr - O nome do arquivo da solicitação de assinatura de certificado
Seja sua própria autoridade de certificação, etapa 9
Seja sua própria autoridade de certificação, etapa 9

Etapa 4. Preencha as informações o máximo possível:

  • Nome do país (código de 2 letras) [AU]:

    nós

  • Nome do estado ou província (nome completo) [algum estado]:

    CA

  • Nome da localidade (por exemplo, cidade) :

    Vale do Silício

  • Nome da organização (por exemplo, empresa) [Internet Widgits Pty Ltd]:

    wikiHow, Inc.

  • Nome da unidade organizacional (por exemplo, seção) :
  • Nome comum (por exemplo, FQDN do servidor ou SEU nome) :

  • Endereço de e-mail :

Seja sua própria autoridade de certificação, etapa 10
Seja sua própria autoridade de certificação, etapa 10

Etapa 5. Salve uma cópia de sua chave privada em outro local

Crie uma chave privada sem uma senha para evitar que o Apache solicite uma senha:

  • openssl rsa -in server.apache.key -out server.apache.unsecured.key

  • As opções explicadas:

    • rsa - executa o programa de criptografia RSA
    • -in server.apache.key - O nome da chave que você deseja converter.
    • -out server.apache.unsecured.key - O nome do arquivo da nova chave não segura
Seja sua própria autoridade de certificação, etapa 11
Seja sua própria autoridade de certificação, etapa 11

Etapa 6. Use o arquivo server.apache.pem resultante junto com a chave privada gerada na etapa 1 para configurar seu arquivo apache2.conf

Parte 3 de 4: Criando um certificado de usuário para autenticação

Seja sua própria autoridade de certificação, etapa 12
Seja sua própria autoridade de certificação, etapa 12

Etapa 1. Siga todas as etapas em _Criando certificados SSL para Apache_

Seja sua própria autoridade de certificação - Etapa 13
Seja sua própria autoridade de certificação - Etapa 13

Etapa 2. Converta seu certificado assinado em um PKCS12

openssl pkcs12 -export -in user_cert.pem -inkey user_private_key.pem -out user_cert.p12

Parte 4 de 4: Criando certificados de e-mail S / MIME

Seja sua própria autoridade de certificação - Etapa 14
Seja sua própria autoridade de certificação - Etapa 14

Etapa 1. Crie uma chave privada

openssl genrsa -des3 -out private_email.key 2048

Seja sua própria autoridade de certificação - Etapa 15
Seja sua própria autoridade de certificação - Etapa 15

Etapa 2. Criar uma solicitação de assinatura de certificado

openssl req -new -key private_email.key -out private_email.csr

Seja sua própria autoridade de certificação - Etapa 16
Seja sua própria autoridade de certificação - Etapa 16

Etapa 3. Use seu certificado CA para assinar a nova chave

openssl ca -out private_email.pem -keyfile server. CA.key -infiles private_email.csr

Seja sua própria autoridade de certificação - Etapa 17
Seja sua própria autoridade de certificação - Etapa 17

Etapa 4. Converter o certificado em PKCS12

openssl pkcs12 -export -in private_email.crt -inkey private_email.key -out private_email.p12

Seja sua própria autoridade de certificação - Etapa 18
Seja sua própria autoridade de certificação - Etapa 18

Etapa 5. Crie um certificado de chave pública para distribuição

openssl pkcs12 -export -out public_cert.p12 -em private_email.pem -clcerts -nokeys -name "Chave Pública WikiHow"

Pontas

Você pode variar o conteúdo das chaves PEM emitindo o seguinte comando: openssl x509 -noout -text -in certificate.pem

Avisos

  • As chaves de 1024 bits são consideradas obsoletas. As chaves de 2.048 bits são consideradas seguras para certificados de usuário até 2030, mas são consideradas insuficientes para certificados raiz. Considere essas vulnerabilidades ao criar seus certificados.
  • Por padrão, a maioria dos navegadores modernos exibe um aviso de "Certificado não confiável" quando alguém visita seu site. Tem havido muito debate sobre o texto dessas advertências, já que usuários não técnicos podem ser pegos desprevenidos. Geralmente, é melhor usar uma autoridade principal para que os usuários não recebam os avisos.

Recomendado: