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\.
Jeff, por favor pode dar um exemplo de que aplicação tem criar esses certificados?
Só quando os textos sobre VPN começarem a sair.