Manual de Comandos Úteis OpenSSL para Certificados Digitais Sistemas: Microsoft Windows XP Microsoft Windows VISTA Microsoft Windows 7 Microsoft Windows Server 2003 Microsoft Windows Server 2008 Linux Agosto/2011 Proibida a reprodução total ou parcial. Todos os direitos reservados 1
SUMÁRIO INTRODUÇÃO... 3 Importante... 3 PRÉ REQUISITO PARA WINDOWS.... 3 PARA BAIXAR OPENSSL PARA WINDOWS... 3 PARA BAIXAR O PATCH C++ PARA WINDOWS... 3 PARA GERAR CHAVE PRIVADA... 4 PARA GERAR A CSR... 4 Importante... 4 PARA CONFERIR OS ARQUIVOS GERADOS... 5 PARA VISUALIZAR A CSR... 5 PARA GERAR PFX COM CHAVE (SEM CADEIAS)... 7 PARA GERAR PFX SEM CHAVE... 8 PARA GERAR PFX COM CADEIA RAIZ... 8 PARA GERAR PFX COM TODAS AS CADEIAS... 8 PARA VISUALIZAR O CONTEÚDO DO PFX... 10 PARA GERAR UM ARQUIVO INSTALÁVEL DE CADEIAS TIPO P7B... 11 PARA GERAR UM ARQUIVO PEM... 11 PARA VISUALIZAR O CONTEÚDO DO PEM... 12 PARA SABER MAIS... 12 Proibida a reprodução total ou parcial. Todos os direitos reservados 2
Introdução Para confecção dessa instrução, foi usado o Sistema Operacional Microsoft Windows XP SP3, OpenSSL v0.9.8.k. Algumas divergências podem ser observadas caso a versão do seu ambiente seja superior ou inferior a esta. Importante: 1. Esse procedimento deve ser feito por usuário Administrador e pode ser aplicado em ambiente Linux obedecendo às particularidades de cada versão. 2. Essa instrução também pode ser usada para gerar CSR de certificado de servidor web, assinatura de código, servidor Nfe e servidor corporativo. 3. Para facilitar, crie uma pasta (c:\temp) na raiz do sistema para armazenar os arquivos gerados, ex: chave, csr, cadeias e certificado. Pré requisito para Windows. Instalar os programas abaixo: OpenSSL v0.9.8.k; Patch C++ para OpenSSL; Prompt de Comando do Windows (Nativo no Windows). Para baixar Openssl para Windows use o link: http://www.openssl.org/related/binaries.html Para baixar o patch C++ para Windows use o link: http://www.microsoft.com/downloads/details.aspx?familyid=9b2da534-3e03-4391-8a4d- 074B9F2BC1BF&displaylang=en Proibida a reprodução total ou parcial. Todos os direitos reservados 3
Para gerar chave privada (exemplo na Figura 1) C:\OpenSSL\bin>openssl genrsa -out c:\temp\private.key 1024 Loading 'screen' into random state - done Generating RSA private key, 1024 bit long modulus...++++++.++++++ e is 65537 (0x10001) Figura 1 Para gerar a CSR (exemplo na Figura 2) C:\OpenSSL\bin>openssl req -new key c:\temp\private.key -out c:\temp\servidor.csr Loading 'screen' into random state - done You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:BR State or Province Name (full name) [Some-State]:Sao Paulo Locality Name (eg, city) []:Osasco Organization Name (eg, company) [Internet Widgits Pty Ltd]:Empresa Ltda Organizational Unit Name (eg, section) []:Tecnologia Common Name (eg, YOUR name) []:mynfeserver Email Address []:tecnologia@empresa.com.br Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: An optional company name []: Importante: Para o preenchimento da CSR, não utilize caracteres especiais, cedilhas e acentos, tais como: (" '! @ # $ % & * _ - + = ³ ² ¹ ` [ ] { } ( ) ª º ^ ~? / \ ; :., < > ). entre outros. No item Common Name (eg, YOUR name), deve ser digitado a URL ou nome do servidor/equipamento que receberá o certificado. Não digite https://. Proibida a reprodução total ou parcial. Todos os direitos reservados 4
Figura 2 Para conferir os arquivos gerados (exemplo na Figura 3) Entre na pasta sugerida (c:\temp) e verifique se os arquivos foram gerados. (figura 3) Figura 3 Para visualizar a CSR (exemplo na Figura 4) Na console aberta, digite o comando abaixo e confirme o campo CN e o tamanho da chave (1024 bits). Lembre-se de não digitar nenhum caracter especial. C:\OpenSSL\bin>openssl req in c:\temp\servidor.csr text verify noout Proibida a reprodução total ou parcial. Todos os direitos reservados 5
Figura 4 Após receber o certificado ou o link para baixar o certificado e as cadeias, salve-os na pasta sugerida (c:\temp). (exemplo nas Figuras 5 e 6) Figura 5 Proibida a reprodução total ou parcial. Todos os direitos reservados 6
Figura 6 Para gerar pfx com chave (Sem cadeias) (exemplo nas Figuras 7 e 8) C:\OpenSSL\bin>openssl pkcs12 export in c:\temp\certificado.cer inkey c:\temp\private.key out c:\temp\certificado.pfx Loading screen into random state done Enter Export Password: Verifying Enter Export Password: Figura 7 Figura 8 Proibida a reprodução total ou parcial. Todos os direitos reservados 7
Para gerar pfx sem chave C:\OpenSSL\bin>openssl pkcs12 -export -nokeys -in c:\temp\certificado.cer -out c:\temp\certificado.pfx Loading 'screen' into random state - done Enter Export Password: Verifying - Enter Export Password: Para gerar pfx com cadeia raiz (exemplo nas Figuras 9 e 10) C:\OpenSSL\bin>openssl pkcs12 -export -in c:\temp\certificado.cer -inkey c:\temp\private.key -certfile c:\temp\cadeiaraiz.cer -out c:\temp\certificadoeraiz.pfx Loading 'screen' into random state - done Enter Export Password: Verifying - Enter Export Password: Figura 9 Figura 10 Para gerar pfx com todas as cadeias (exemplo na sequência de Figuras 11, 12 e 13) Abra cada cadeia num editor de texto e copie seu conteúdo num arquivo único começando pela cadeia raiz. Salve o arquivo com um nome sugestivo ex: cadeias.cer na pasta onde está a chave e o certificado. Obs: Na figura abaixo os arquivos foram reduzidos para simplificar sua visualização nesta instrução. São eles: ITI(Autoridade Certificadora Raiz Brasileira-ICP-Brasil); SerasaACP(Serasa Autoridade Certificadora Principal) e SerasaCD(Serasa Certificadora Digital). Proibida a reprodução total ou parcial. Todos os direitos reservados 8
Figura 11 Após gerar o arquivo de cadeias, digite o comando: (exemplo nas Figuras 12 e 13) C:\OpenSSL\bin>openssl pkcs12 -export -in c:\temp\certificado.cer -inkey c:\temp\private.key -certfile c:\temp\cadeias.cer -out c:\temp\certificadoecadeias.pfx Loading 'screen' into random state - done Enter Export Password: Verifying - Enter Export Password: Figura 12 Figura 13 Proibida a reprodução total ou parcial. Todos os direitos reservados 9
Para visualizar o conteúdo do pfx (exemplo na Figura 14) C:\OpenSSL\bin>openssl pkcs12 -in c:\temp\certificado.pfx -info Enter Import Password: Obs: Na figura abaixo os arquivos foram reduzidos para simplificar sua visualização nesta instrução. Figura 14 Proibida a reprodução total ou parcial. Todos os direitos reservados 10
Para gerar um arquivo instalável de cadeias tipo p7b (exemplo nas Figuras 15 e 16) Abra cada cadeia num editor de texto e salve-os com a extensão.pem ou siga a próxima instrução. C:\OpenSSL\bin>openssl crl2pkcs7 -inform PEM -certfile c:\temp\iti.pem -certfile c:\temp\serasaacp.pem -certfile c:\temp\serasacd.pem -outform PEM -out c:\temp\cadeias.p7b nocrl Figura 15 Figura 16 Para gerar um arquivo PEM converter o formato certificado.cer para certificado.pem (exemplo nas Figuras 17 e 18) C:\OpenSSL\bin>openssl x509 -in c:\temp\certificado.cer -out c:\temp\certificao.pem Figura 17 Figura 18 Proibida a reprodução total ou parcial. Todos os direitos reservados 11
Para visualizar o conteúdo do PEM (exemplo na Figura 19) C:\OpenSSL\bin>openssl x509 -in c:\temp\certificado.pem text Obs: Na figura abaixo os arquivos foram reduzidos para simplificar sua visualização nesta instrução. Figura 19 Para saber mais: Como instalar o certificado no formato.pfx: http://www.certificadodigital.com.br/suporte/manual-importacao-cda1.pdf Como criar o arquivo.pfx de um certificado instalado no navegador: http://www.certificadodigital.com.br/suporte/manual-copia-seguranca-cda1.pdf Como instalar o arquivo de cadeias do formato p7b: http://loja.certificadodigital.com.br/serasa/upload/downloads/527.pdf Proibida a reprodução total ou parcial. Todos os direitos reservados 12