Gerar e exportar certificados – Linux (strongSwan)

Este artigo mostra como criar um certificado raiz autoassinado e gerar certificados do cliente usando o strongSwan. As etapas desse exercício ajudam a criar arquivos .pem de certificado. Se você precisar de arquivos .pfx e .cer, consulte as instruções do Windows-PowerShell.

Para conexões ponto a site, cada cliente VPN deve ter um certificado de cliente instalado localmente para se conectar. Além disso, as informações de chave pública do certificado raiz devem ser carregadas no Azure. Para obter mais informações, consulte Configuração ponto a site – autenticação de certificado.

Instalar o strongSwan

As etapas a seguir ajudam você a instalar o strongSwan.

A configuração a seguir foi usada ao especificar comandos:

  • Computador: Ubuntu Server 18.04
  • Dependências: strongSwan

Use os comandos a seguir para instalar a configuração necessária do strongSwan:

sudo apt-get update
sudo apt-get upgrade
sudo apt install strongswan
sudo apt install strongswan-pki
sudo apt install libstrongswan-extra-plugins
sudo apt install libtss2-tcti-tabrmd0

Instruções da CLI do Linux (strongSwan)

As etapas a seguir ajudam você a gerar e exportar certificados usando a CLI do Linux (strongSwan). Para obter mais informações, consulte Instruções adicionais para instalar a CLI do Azure.

Gere o Certificado de Autoridade de Certificação.

ipsec pki --gen --outform pem > caKey.pem
ipsec pki --self --in caKey.pem --dn "CN=VPN CA" --ca --outform pem > caCert.pem

Imprima o Certificado de Autoridade de Certificação no formato base64. Este é o formato compatível com o Azure. Você carrega este certificado no Azure como parte das etapas de configuração P2S.

openssl x509 -in caCert.pem -outform der | base64 -w0 ; echo

Gere o certificado do usuário.

export PASSWORD="password"
export USERNAME=$(hostnamectl --static)

ipsec pki --gen --outform pem > "${USERNAME}Key.pem"
ipsec pki --pub --in "${USERNAME}Key.pem" | ipsec pki --issue --cacert caCert.pem --cakey caKey.pem --dn "CN=${USERNAME}" --san "${USERNAME}" --flag clientAuth --outform pem > "${USERNAME}Cert.pem"

Gere um pacote p12 contendo o certificado de usuário. Este pacote será usado nas próximas etapas ao trabalhar com os arquivos de configuração de cliente.

openssl pkcs12 -in "${USERNAME}Cert.pem" -inkey "${USERNAME}Key.pem" -certfile caCert.pem -export -out "${USERNAME}.p12" -password "pass:${PASSWORD}"

Próximas etapas

Continue com a configuração de ponto a site. Consulte Configurar clientes VPN P2S: autenticação de certificado – Linux.