quarta-feira, 25 de maio de 2011

Gerando certificados digitais auto-assinados com OpenSSL


O OpenSSL permite requisitar, assinar, gerar, exportar e converter certificados digitais. Ele está disponível como pacote ou pode ser compilado para a maoria das distribuições baseadas no UNIX. Este guia irá explicar como gerar um repositório de chaves para certificados digitais, gerar certificados SSL privados e auto-assinados para servidores web, e exportar/converter o repositórios de chaves para um arquivo PFX (para importá-los em plataformas Windows). O guia abaixo foi testado em plataformas de servidores web comuns no Linux (Apache, Lighttpd, Nginx, Resin), entretanto a sintaxe seja provavelmente a mesma no Windows (ressalvando os caminhos dos arquivos).
Na grande maioria dos sistemas UNIX-like, como o Ubuntu Linux, o openssl já vem instalado; se você utiliza Windows, baixe os binários antes.
  1. Instale o OpenSSL.
  2. Execute o comando abaixo para gerar um repositório de chaves chamado “server.key”:
    openssl genrsa -des3 -out /tmp/server.key 1024
  3. Execute os comandos abaixo para requisitar um novo certificado SSL:
    openssl req -new -x509 -nodes -sha1 -days 1095 -key /tmp/server.key > /tmp/server.crt openssl x509 -noout -fingerprint -text /tmp/server.info
  4. Execute o comando abaixo para fazer uma cópia do repositório de chaves que tenha uma senha:
    cp /tmp/server.key /tmp/server.key.bak
  5. Execute o comando abaixo para gerar um novo repositório de chaves sem uma senha:
    openssl rsa -in /tmp/server.key -out /tmp/no.pwd.server.key
  6. Execute o comando abaixo apenas se você necessita gerar um arquivo PEM que contenha concatenado o repositório de chaves e a chave pública em um único arquivo:
    cat /tmp/no.pwd.server.key /tmp/server.crt > /tmp/no.pwd.server.pem
  7. Execute o comando abaixo apenas se você necessita exportar um repositório de chaves (sem senha) para um arquivo PFX (para importação em plataforma Windows):
    openssl pkcs12 -export -in /tmp/server.crt -inkey /tmp/no.pwd.server.key -certfile /tmp/no.pwd.server.pem -out /tmp/server.pfx
Apêndice:
  • server.key – Arquivo do Repositório de Chaves
  • server.crt – Arquivo da Chave Pública SSL do Servidor
  • no.pwd.server.key – Arquivo do Repositório de Chaves (sem senha)
  • no.pwd.server.pem – Arquivo do Repositório de Chaves + Chave Pública SSL do Servidor (sem senha)
  • server.pfx – Chave Privada + Chave Pública, exportável para plataforma Windows (ex. servidor IIS)
Fonte: Seguinfo

0 comentários:

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More