OpenSSL: Criando uma Autoridade Certificadora (CA)

From Wiki

Vou mostrar como criar uma Autoridade Certificadora (CA).

Esse CA vai ser utilizado nos meus exemplos de configuração IBM Sterling.

Procedimento

Instalando

1) Instalando os Pacotes

yum install -y openssl

Criando uma Autoridade Certificadora

1) Criar a chave privada da CA:

openssl genrsa -out ca-key.pem 2048

2) Gerar o certificado da CA com detalhes personalizados:

openssl req -new -x509 -key ca-key.pem -out ca-cert.pem -days 3650 \
-subj "/C=BR/ST=DF/L=/O=TestNet Ltd/CN=Autoridade Certificadora da TestNet Ltd/emailAddress=[email protected]"

Criar um Certificado para o Servidor

1) Criar a chave privada do servidor:

openssl genrsa -out server-key.pem 2048

2) Criar uma solicitação de certificado (CSR) para o servidor:

openssl req -new -key server-key.pem -out server-csr.pem \
 -subj "/C=BR/ST=DF/L=/O=TestNet Ltd/CN=server01.test.net/emailAddress=[email protected]"


Você precisará fornecer informações semelhantes ao preencher o certificado da CA.

3) Assinar o CSR do servidor com a CA para obter o certificado do servidor:

openssl x509 -req -in server-csr.pem -CA ca-cert.pem -CAkey ca-key.pem -CAcreateserial 
  -out server-cert.pem -days 730

Será criado 2 arquivos:

  • server-csr.pem: Arquivo de requisição (CSR).
  • server-key.pem: Chave privada assinada
  • server-cert.pem: Chave pública assinada

Você pode apagar o arquivo server-csr.pem, pois ele não será mais utilizado.

Verificar os certificados

1) Para verificar o certificado da CA:

openssl x509 -in ca-cert.pem -text -noout

3) Para verificar o certificado da CA:

openssl x509 -in server-cert.pem -text -noout

Dicas

Gerar o certificado da CA usando a chave privada protegida por senha

Execute o comando

 openssl genrsa -aes256 -out ca-key.pem 4096

Isso criará uma chave privada encriptada com o algoritmo AES256 e um tamanho de 4096 bits para a sua CA. Ao executar esse comando, você será solicitado a inserir uma senha para proteger a chave privada.


Criando a CA e certificado de servidor em um único comando

1) Criar a chave privada da CA, comando único (pede passphrase)

openssl req -new -x509 -keyout ca-key.pem -out ca-cert.pem -days 3650 \
-subj "/C=BR/ST=DF/L=/O=TestNet Ltd/CN=Autoridade Certificadora da TestNet Ltd/emailAddress=[email protected]" \
-newkey rsa:2048

adicionar -nodes para pedir passphrase

2) Criar a chave privada do servidor, comando único (pede passphrase)

openssl req -new -keyout server-key.pem -out server-csr.pem -\
-subj "/C=BR/ST=DF/L=/O=TestNet Ltd/CN=server01.test.net/emailAddress=[email protected]" \
-newkey rsa:2048

adicionar -nodes para pedir passphrase

Ver também