Como criar Certificado Assinado!

Primeiro você precisa ter o Linux com OpenSSL instalado em uma máquina ou utilizar uma Máquina Virtual para rodar o Linux sem instalar.

Em nosso laboratório instalamos o Kurumin VM (Virtual Machine) e rodamos com o Kurumin 7 em formato iso.
 
Após tudo instalado rodamos os procedimentos abaixo sem problemas.

OpenSSL tem o código aberto (Apache License), trata-se de um toolkit de execução dos protocolos Secure Sockets Layer (SSL v2/v3) e Transport Layer Security (TLS v1), seu propósito geral é a criptografia por biblioteca. Ele está disponível em várias plataformas (Linux, BSD & Windows). Em suma, significa que você pode usar o OpenSSL para criar facilmente uma solicitação de assinatura de certificado (arquivo CSR), assim o seu servidor solicita uma certidão de certificação como Verisign, Thawte, etc. Você também pode usar OpenSSL para criar um certificado auto-assinado para utilizar em seu servidor web, Dovecot SSL ativado e outros serviços.

Vamos analisar como podemos facilmente criar um CSR usando SSL e também como é que podemos criar um certificado auto-assinado usando OpenSSL.

CRIANDO UMA CHAVE PRIVADA

Primeiro você precisa criar uma chave privada que será utilizada para gerar o CSR ou certificado auto-assinado. Vamos criar uma chave privada chamada ca.key com criptografia de 1024 que é extremamente interessante. No diretório "ssl" execute o comando abaixo:

openssl genrsa-out ca.key 1024

Este comando cria a sua chave privada no arquivo ca.key

 
COMO CRIAR UM CSR PARA SOLICITAR CERTIDÃO DE CERTIFICAÇÃO EXTERNA COMO AUTORIDADE VERISGN, THAWTE, ETC

Agora vamos utilizá-lo para criar um CSR que você pode utilizar a certificação para solicitar o certificado em autoridades externas. No mesmo diretório execute o comando abaixo:
 
openssl req –new -key ca.key -out ca.csr 

Este comando irá criar um arquivo chamado ca.csr (CSR) utilizando a chave do arquivo ca.key. Você pode enviar esse arquivo para uma autoridade certificadora. Eles vão utilizar os dados deste arquivo para criar um certificado para você.

Nota: Será solicitado várias informações como segue:

Nome do país (2 letras) [BR]:
Estado ou província Nome (nome completo) [Sao Paulo]:
Locality Name (eg, city) [Campinas]:
Nome da organização (por exemplo, empresas) [CTI Brasil]:
Unidade organizacional Name (eg, seção) [Security]:
Nome comum (por exemplo, seu nome ou do seu servidor host) [CTI Brasil]:
Endereço de e-mail [ctibrasil@ctibrasil.com.br]:
Digite o seguinte 'extra' atributos
para serem enviados com o seu certificado pedido
Um desafio password []:
Um opcional nome da empresa [CTI Brasil]:

Estas informações devem ser verídicas.

COMO CRIAR CERTIFICADO AUTO-ASSINADO

Você pode criar um certificado auto-assinado para seus próprios servidores usando o procedimento a seguir:

openssl x509 –req –days 365 -in ca.csr -signkey ca.key -out ca.crt

Notas:
1. Substitua a 365 o número de dias que você deseja que o certificado seja válido.
2. Você deve primeiro criar um CSR (veja acima) antes de executar este comando.

O certificado será gravado no arquivo ca.crt. Você pode usar esse arquivo em seu software e serviços como httpd apache, postfix, dovecot, etc.
Os Certificados auto-assinados não serão reconhecidos pelos navegadores, a menos que você solicite o certificado através de empresas certificadoras como a Verisign ou Thawte por exemplo. Ao iniciar um Web site ou serviços que utilizam este tipo de certificado o usuário será solicitado a aceitar ou rejeitar o certificado. Certificados assinados pela autoridade externa de certificação são automaticamente reconhecidos.


CTI Brasil - Av. Francisco Glicério, 1046 - Cj 43
Centro - Campinas - SP - Fone: (19) 3234.0080