Como criar certificados no Windows com o Easy-RSA

Este texto vai servir de suporte a outros textos que estou preparando sobre o OpenVPN.

O Easy-RSA pode ser baixado e instalado como um programa independente ou como parte de uma instalação completa do OpenVPN para Windows. Se instalou junto com o OpenVPN, mova a pasta C:\Arquivos de Programas\OpenVPN\easy-rsa para c:\easy-rsa. Isso é necessário porque Easy-RSA tem um bug  que o faz falhar se o caminho tiver espaços. Se esta pasta não existir, você provavelmente não escolheu todas as opções na instalação customizada do OpenVPN. Esta pasta é instalada ao habilitar a opção “Easy RSA 3 Certificate…”.

A máquina onde são criados os certificados pode ser completamente distinta da que vai usá-los. Eu poderia criar aqui e passar para qualquer um que pedisse, que funcionaria do mesmo jeito.


O arquivo vars

Ainda usando o explorer, renomeie o aquivo “vars.example” como “vars” (remova a extensão)

Esse arquivo possui a configuração que vai ser usada por Easy-RSA para gerar os certificados. Você não precisa mexer em nada se não quiser mudar o default. Vale a pena dar uma olhada nele com um editor compatível com quebras de linhas unix (como o Notepad++) para ver as opções disponíveis. Duas configurações candidatas a personalização são os prazos de validade, mas você não precisa realmente alterar nada para que funcione para o propósito deste texto.

# In how many days should the root CA key expire?# In how many days should the root CA key expire?
#set_var EASYRSA_CA_EXPIRE 3650
# In how many days should certificates expire?
#set_var EASYRSA_CERT_EXPIRE 825

Você precisa remover o # do início de cada linha que você editar.

Criando os certificados

Abra um prompt de comando como administrador e execute EasyRSA-Start.bat. Nos meus testes clicar com o botão direito no .bat e pedir pra executar como administrador não bastou (o programa pisca e fecha). Foi preciso abrir um prompt primeiro.

No shell que se abre você vai executar os seguintes comandos em sequência:
./easyrsa init-pki
./easyrsa build-ca
./easyrsa build-server-full nome_do_certificado_servidor
./easyrsa build-client-full nome_do_certificado_cliente
./easyrsa gen-dh

Mas você vai ter que responder algumas perguntas durante o processo, por isso vou mostrar passo a passo tudo o que acontece e onde você precisa responder. Vamos supor que o certificado servidor tenha o nome “servidor-vpn” e que o cliente tenha o nome “cliente-vpn”. Os comandos ficam assim:

./easyrsa init-pki


./easyrsa build-ca

Se ocorrer o erro “extra arguments given” após digitar a senha duas vezes, você provavelmente não seguiu minha recomendação de mover a pasta para c:\easy-rsa.

A digitação de senhas em todos os passos é feita às cegas. Parece que o programa está travado, mas não está.


./easyrsa build-server-full servidor-vpn

./easyrsa build-client-full cliente-vpn

./easyrsa gen-dh

Feche o prompt de comando.

Copie os certificados criados (em c:\easy-rsa\pki\issued\*.crt)

e suas chaves (em c:\easy-rsa\pki\private\*.key) exceto a chave do certificado CA, que nunca deve ser divulgada.

Você precisa copiar também ca.crt e dh.pem. Ambos de C:\easy-rsa\pki\.

 

2 comentários

Deixe um comentário

Você pode usar estas tags HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

  

  

  

:) :( ;) O_o B) :lol: :huh: :S :D :-P 8-O :yahoo: :rtfm: :dashhead1: :clapping: more »