Gerar e exportar certificados - Linux - OpenSSL

Este artigo ajuda você a criar um certificado raiz autoassinado e gerar arquivos .pem de certificado de cliente usando OpenSSL. Se você precisar de arquivos .pfx e .cer , consulte as instruções do Windows-PowerShell .

Pré-requisitos

Para usar este artigo, você deve ter um computador executando OpenSSL.

Certificado de raiz autoassinado

Esta seção ajuda você a gerar um certificado raiz autoassinado. Depois de gerar o certificado, exporte o arquivo de dados de chave pública do certificado raiz.

  1. O exemplo a seguir ajuda a gerar o certificado raiz autoassinado.

    openssl genrsa -out caKey.pem 2048
    openssl req -x509 -new -nodes -key caKey.pem -subj "/CN=VPN CA" -days 3650 -out caCert.pem
    
  2. Imprima os dados públicos do certificado raiz autoassinado no formato base64. Este é o formato suportado pelo Azure. Carregue este certificado no Azure como parte das suas etapas de configuração P2S.

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

Certificados de cliente

Nesta seção, você gera o certificado de usuário (certificado de cliente). Os arquivos de certificado são gerados no diretório local no qual você executa os comandos. Você pode usar o mesmo certificado de cliente em cada computador cliente ou gerar certificados específicos para cada cliente. É crucial que o certificado do cliente seja assinado pelo certificado raiz.

  1. Para gerar um certificado de cliente, use os exemplos a seguir.

    export PASSWORD="password"
    export USERNAME=$(hostnamectl --static)
    
    # Generate a private key
    openssl genrsa -out "${USERNAME}Key.pem" 2048
    
    # Generate a CSR (Certificate Sign Request)
    openssl req -new -key "${USERNAME}Key.pem" -out "${USERNAME}Req.pem" -subj "/CN=${USERNAME}"
    
    # Sign the CSR using the CA certificate and CA key
    openssl x509 -req -days 365 -in "${USERNAME}Req.pem" -CA caCert.pem -CAkey caKey.pem -CAcreateserial -out "${USERNAME}Cert.pem" -extfile <(echo -e "subjectAltName=DNS:${USERNAME}\nextendedKeyUsage=clientAuth")
    
  2. Para verificar o certificado do cliente, use o exemplo a seguir.

    openssl verify -CAfile caCert.pem caCert.pem "${USERNAME}Cert.pem"
    

Próximos passos

Para continuar as etapas de configuração, consulte Autenticação de certificado ponto a site.