Criando certificado Auto-assinado no Ubuntu

Criando certificado Auto-assinado no Ubuntu

Neste post iremos criar um certificado auto-assinado para que possa ser utilizado por um IIS, Apache, Conexão Docker e/ou outros.

Primeiramente instale o OPENSSL caso não possua no servidor utilizando o comando abaixo:

apt-get install openssl

Feito isto, vamos rodar o comando abaixo para criar uma Autoridade de Certificação para assinar seus certificados.

openssl genrsa -out myRootCA.key 4096
openssl req -x509 -new -nodes -key myRootCA.key -days 3650 -out myRootCA.pem
openssl pkcs12 -export -inkey myRootCA.key -in myRootCA.pem -out myRootCA.pfx

Agora vamos criar a key para nosso certificado:

openssl genrsa -out myTLS.key 2048

Crie e edite o arquivo de configuração newcfg.cnf usando o comando:

nano newcfg.cnf

Edite com suas informações igual do certificado criado:

[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req
prompt = no
[req_distinguished_name]
C = BR
ST = ES
L = Serra
O = MOC Solucoes
OU = MOC
CN = *.mocsolucoes.com.br
[v3_req]
keyUsage = keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.mocsolucoes.com.br
DNS.2 = *.mocspeak.net                                

Agora crie um pedido de assinatura de certificado:

openssl req -new -out myTLS.csr -key myTLS.key -config newcfg.cnf

Agora basta assinar seu certificado com o comando abaixo, lembre-se de alterar o DNS para sua configuração:

openssl x509 -req -days 365 -CA myRootCA.pem -CAkey myRootCA.key -CAcreateserial -extensions SAN -extfile <(cat /etc/ssl/openssl.cnf <(printf "\n[SAN]\nsubjectAltName=DNS:*.mocsolucoes.com.br,DNS:*.mocspeak.net")) -in myTLS.csr -out myTLS.crt

Obs.: Caso precise do certificado para Windows execute agora o comando abaixo para criá-lo:

openssl pkcs12 -export -out myTLS.pfx -inkey myTLS.key -in myTLS.crt

Prontinho agora basta copiar seus certificados e efetuar o bom uso dos mesmos.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *