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.