Início > Dicas > Assinatura Digital – Gerando o certificado

Assinatura Digital – Gerando o certificado

Esse post foi motivado pelo capítulo  ” Certificado e Criptografia” que leciono a alunos da graduação e pós-graduação. Irei dedicar alguns tempo a escrever de forma simples sobre o assunto.

Pensando em um mundo ecologicamente correto, creio que o certificado digital e todos os seus benefícios podem contribuir muito para essa nova forma “VERDE” de pensamento da TI. O certificado tem em sua essência a mesma credibilidade da existente no papel nos dias atuais como a realizada através de um “cartório de notas”.

Os meus alunos sempre solicitam a entrega das atividades por e-mail. Ai começam os problemas. Como podemos garantir a integridade e a autenticidade do emissor de um documento entregue por e-mail?

Certificado digital + assinatura digital = Não repúdio.

Dessa forma resolvi meus problemas na entrega por e-mail. Toda base de confiança desse modelo esta ancorado no algoritmo assimétrico (irei falar dele no futuro).

Para proporcionar uma experiência real aos meus alunos, eu usarei o software openssl nos exemplos. No futuro prometo falar de alguns aplicativos de certificado. Quem tem processador 64 bits, deve baixar a versão compatível com esse processador. Você pode fazer o download do openssl (32 ou 64 bits) nesse link para windows ou aqui compactado no formato tar.gz. Para Debian e derivados (como ubuntu) o procedimento é mais simples.
apt-get install openssl

Uma vez instalado, vamos ao que interessa.

  • Criando a sua chave privada

Para criar a sua chave privada, invoque o comando abaixo pela tela de console ou terminal.

Primeiramente entre no diretório onde o openssl foi instalado (no windows geralmente é c:\openssl\bin)

Sintaxe do comando:
openssl genrsa -des3 1024 > caminho_onde_vou_guadar_minha_chave_privada

Exemplo: openssl.exe genrsa -des3 1024 > c:\chave\chaveprivada.key

Esse comando irá solicitar uma senha. Essa senha irá proteger a chave privada do uso indevido por outra pessoa que por ventura copie o arquivo. Sempre que a chave privada for solicitada para alguma atividade será necessário o uso da senha, portanto escolha uma senha complexa porém que poderá ser lembrada.

  • Gerando a requisição do seu certificado (futuro certificado)

A geração do certificado consiste na geração da chave pública comumente denominada como “request”. Essa chave contém os dados de apresentação do emissor, tais como nome (common name), endereço eletrônico, cidade, estado e etc. A chave pública quando assinada por uma autoridade certificadora comumente começa ser chamada de certificado. Para gerar sua chave pública você precisa da chave privada gerada acia. Invoque o comando abaixo na console ou terminal no mesmo diretório onde se encontra sua chave privada.

Sintaxe do comando:
openssl req -new -key
caminho_da_chaveprivada.key > caminho_onde_vou_guadar_minha_requisição

Exemplo: openssl.exe req -new -key c:\chave\chaveprivada.key > c:\chave\solicitacao.csr

Após isso serão feitas diversas perguntas. Veja como preencher abaixo. Os meus comentário ficarão entre <>.

Country Name (2 letter code) [AU]:BR <seu pais com dois dígitos>
State or Province Name (full name) [Some-State]:MG <seu estado, nome completo ou sigla>
Locality Name (eg, city) []:Belo Horizonte <sua cidade, nome completo ou sigla>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LEOC CORP <Nome da sua empresa ou entidade que representa>
Organizational Unit Name (eg, section) []:Segurança da Informação <Nome do seu setor de trabalho>
Common Name (eg, YOUR name) []:Ricardo Leocadio <o campo mais importante. Aqui deve ser descrito como você quer se apresentar. Se for um servidor web, você deve informa http://www.empresa.com.br, se for de pessoa informe seu nome.>
Email Address []:ricardo.nonono@click21.com.br <Informe seu email>

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:
Adoro o meu cachorro <senha a ser usada para a revogação do certificado>
An optional company name []:

O arquivo gerado no passo acima “solicitacao.csr”  é sua chave pública.

chaveprivada.key ==> sua chave privada
solicitacao.csr        ==> sua chave pública, gerada apartir de uma chave privada, contendo seus dados.

Bem é esse arquivo de solicitação (solicitacao.csr) que possui a suas informações. Bem mas sabemos que não basta fazer uma identidade para que ela seja válida. Nesse caso temos que submeter a alguma autoridade. Essa autoridade no mundo digital leva o nome de Autoridade Certificadora (Certificate Autorithy) ou “Cartório digital”.

Os meus alunos devem enviar a solicitação para o meu e-mail, pois sempre montamos um cartório digital em sala de aula. Se você quiser, pode submeter a sua solicitação a um cartório reconhecido nacionalmente ou até mesmo internacionalmente, mas vale lembrar que esse serviço tem um custo.

  • Depois que o certificado é assinado e devolvido

Depois que a solicitacao (solicitacao.csr) é assinada por um cartório digital e devolvido, (normalmente é retornada em um arquivo .pem ou cer) devemos juntar a chave pública assinada (cetificado) e a chave privada em um único arquivo, por motivo de backup das chaves ou até mesmo para utiliza-la em outro aplicativo ou sistema operacional. Ao juntar as duas chaves no mesmo arquivo, o mesmo deverá ser protegido por uma nova senha.

Esse arquivo contendo as chaves públicas e privadas tem que ser do tipo PKCS#12 (extensão do arquivo sendo “.p12”). O mesmo também pode ser encontrado pela sigla de PFX com a extensão “.pfx”. Para criar um arquivo PKCS#12 é necessário a chave privada e a chave pública assinada pelo cartório digital (certificado). Invoque o comando abaixo no console ou terminal.

Sintaxe do comando:
openssl  pkcs12  -export   -inkey caminho_da_chaveprivada -in caminho_CERTIFICADO_retornado_cartorio   -out   caminho_para_salvar_arquivo_p12

Exemplo:

openssl.exe  pkcs12  -export  -inkey  c:\chave\chaveprivada.key  -in  c:\chave\leocadio_cert.cer  -out c:\chave\ARQUIVOP12.pfx

Esse comando irá solicitar a senha da sua chave privada.
Em seguida irá solicitar uma senha para ser inserida no arquivo pfx ou p12. Esse arquivo pfx contém agora sua chave privada e pública no mesmo arquivo.

Para verificar se o conteúdo do arquivo foi gerado corretamente, invoque o comando abaixo na console ou terminal

openssl.exe  pkcs12   -in  c:\chave\ARQUIVOP12.pfx  -info

Importe esse arquivo dentro do seu leitor de correio eletrônico preferido ou sistema operacional. Segue abaixo alguns exemplos.

  • Importe o certificado – No cliente de e-mail Thunderbird (windows e Linux) use esse tutorial.
  • Assinatura digital do email – Para usar no Thunderbird.
  • Assinando um arquivo pelo OpenOffice/Broffice no linux.

Veja essa post gerado em 12/10/2008

Aproveite e faça alguns testes como o exemplo abaixo.

  • Encriptando um arquivo

# openssl.exe enc -e -salt -cast5-cbc -in ARQUIVO_ABERTO.txt -out ARQUIVO_ENCRIPTADO.txt.enc

  • Decriptando um arquivo:

# openssl.exe enc -d -salt -cast5-cbc -in ARQUIVO_ENCRIPTADO.txt.enc -out ARQUIVO_ABERTO.txt

Anúncios
Categorias:Dicas
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: