Gerar e exportar certificados para ponto a site com o PowerShell
As ligações ponto a site utilizam certificados para autenticar. Este artigo mostra-lhe como criar um certificado de raiz autoassinado e gerar certificados de cliente com o PowerShell no Windows 10 ou posterior, Windows Server 2016 ou posterior.
Os cmdlets do PowerShell que utiliza para gerar certificados fazem parte do sistema operativo e não funcionam noutras versões do Windows. O sistema operativo anfitrião só é utilizado para gerar os certificados. Assim que os certificados forem gerados, pode carregá-los ou instalá-los em qualquer sistema operativo cliente suportado.
Se não tiver um computador que cumpra o requisito do sistema operativo, pode utilizar o MakeCert para gerar certificados. Os certificados gerados através de qualquer um dos métodos podem ser instalados em qualquer sistema operativo cliente suportado .
Criar um certificado de raiz autoassinado
Utilize o cmdlet New-SelfSignedCertificate para criar um certificado de raiz autoassinado. Para obter informações adicionais sobre parâmetros, veja New-SelfSignedCertificate.
A partir de um computador com Windows 10 ou posterior, ou Windows Server 2016, abra uma consola Windows PowerShell com privilégios elevados.
Crie um certificado de raiz autoassinado. O exemplo seguinte cria um certificado de raiz autoassinado com o nome "P2SRootCert" que é instalado automaticamente em "Certificados-Utilizador Atual\Pessoal\Certificados". Pode ver o certificado ao abrir certmgr.msc ou Gerir Certificados de Utilizador.
Faça as modificações necessárias antes de utilizar este exemplo. O parâmetro "NotAfter" é opcional. Por predefinição, sem este parâmetro, o certificado expira dentro de 1 ano.
$params = @{ Type = 'Custom' Subject = 'CN=P2SRootCert' KeySpec = 'Signature' KeyExportPolicy = 'Exportable' KeyUsage = 'CertSign' KeyUsageProperty = 'Sign' KeyLength = 2048 HashAlgorithm = 'sha256' NotAfter = (Get-Date).AddMonths(24) CertStoreLocation = 'Cert:\CurrentUser\My' } $cert = New-SelfSignedCertificate @params
Deixe a consola do PowerShell aberta e continue com os passos seguintes para gerar um certificado de cliente.
Gerar um certificado de cliente
Cada computador cliente que se ligue a uma VNet através de ponto a site tem de ter um certificado de cliente instalado. Pode gerar um certificado de cliente a partir do certificado de raiz autoassinado e, em seguida, exportar e instalar o certificado de cliente. Se o certificado de cliente não estiver instalado, a autenticação falhará.
Os passos seguintes explicam como gerar um certificado de cliente a partir de um certificado de raiz autoassinado. Pode gerar vários certificados de cliente a partir do mesmo certificado de raiz. Quando gera certificados de cliente com os passos abaixo, o certificado de cliente é instalado automaticamente no computador que utilizou para gerar o certificado. Se quiser instalar um certificado de cliente noutro computador cliente, exporte o certificado.
Os exemplos utilizam o cmdlet New-SelfSignedCertificate para gerar um certificado de cliente.
Exemplo 1 – a sessão da consola do PowerShell ainda está aberta
Utilize este exemplo se não tiver fechado a consola do PowerShell depois de criar o certificado de raiz autoassinado. Este exemplo continua a partir da secção anterior e utiliza a variável "$cert" declarada. Se fechou a consola do PowerShell depois de criar o certificado de raiz autoassinado ou se estiver a criar certificados de cliente adicionais numa nova sessão de consola do PowerShell, utilize os passos no Exemplo 2.
Modifique e execute o exemplo para gerar um certificado de cliente. Se executar o exemplo seguinte sem o modificar, o resultado será um certificado de cliente com o nome "P2SChildCert". Se quiser atribuir outro nome ao certificado subordinado, modifique o valor CN. Não altere a TextExtension ao executar este exemplo. O certificado de cliente que gerar é instalado automaticamente em "Certificados – Utilizador Atual\Pessoal\Certificados" no seu computador.
$params = @{
Type = 'Custom'
Subject = 'CN=P2SChildCert'
DnsName = 'P2SChildCert'
KeySpec = 'Signature'
KeyExportPolicy = 'Exportable'
KeyLength = 2048
HashAlgorithm = 'sha256'
NotAfter = (Get-Date).AddMonths(18)
CertStoreLocation = 'Cert:\CurrentUser\My'
Signer = $cert
TextExtension = @(
'2.5.29.37={text}1.3.6.1.5.5.7.3.2')
}
New-SelfSignedCertificate @params
Exemplo 2 - Nova sessão da consola do PowerShell
Se estiver a criar certificados de cliente adicionais ou não estiver a utilizar a mesma sessão do PowerShell que utilizou para criar o certificado de raiz autoassinado, siga os seguintes passos:
Identifique o certificado de raiz autoassinado que está instalado no computador. Este cmdlet devolve uma lista de certificados que estão instalados no seu computador.
Get-ChildItem -Path "Cert:\CurrentUser\My"
Localize o nome do requerente na lista devolvida e, em seguida, copie o thumbprint localizado junto ao mesmo para um ficheiro de texto. No exemplo seguinte, existem dois certificados. O nome CN é o nome do certificado de raiz autoassinado a partir do qual pretende gerar um certificado subordinado. Neste caso, "P2SRootCert".
Thumbprint Subject ---------- ------- AED812AD883826FF76B4D1D5A77B3C08EFA79F3F CN=P2SChildCert4 7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655 CN=P2SRootCert
Declare uma variável para o certificado de raiz com o thumbprint do passo anterior. Substitua THUMBPRINT pelo thumbprint do certificado de raiz a partir do qual pretende gerar um certificado subordinado.
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\<THUMBPRINT>"
Por exemplo, ao utilizar o thumbprint para P2SRootCert no passo anterior, a variável tem o seguinte aspeto:
$cert = Get-ChildItem -Path "Cert:\CurrentUser\My\7181AA8C1B4D34EEDB2F3D3BEC5839F3FE52D655"
Modifique e execute o exemplo para gerar um certificado de cliente. Se executar o exemplo seguinte sem o modificar, o resultado será um certificado de cliente com o nome "P2SChildCert". Se quiser atribuir outro nome ao certificado subordinado, modifique o valor CN. Não altere a TextExtension ao executar este exemplo. O certificado de cliente que gerar é instalado automaticamente em "Certificados – Utilizador Atual\Pessoal\Certificados" no seu computador.
$params = @{ Type = 'Custom' Subject = 'CN=P2SChildCert' DnsName = 'P2SChildCert1' KeySpec = 'Signature' KeyExportPolicy = 'Exportable' KeyLength = 2048 HashAlgorithm = 'sha256' NotAfter = (Get-Date).AddMonths(18) CertStoreLocation = 'Cert:\CurrentUser\My' Signer = $cert TextExtension = @( '2.5.29.37={text}1.3.6.1.5.5.7.3.2') } New-SelfSignedCertificate @params
Exportar a chave pública do certificado de raiz (.cer)
Depois de criar um certificado de raiz autoassinado, exporte o ficheiro .cer do certificado de raiz (não a chave privada). Mais tarde, irá carregar os dados de certificado necessários contidos no ficheiro para o Azure. Os passos seguintes ajudam-no a exportar o ficheiro .cer para o certificado de raiz autoassinado e a obter os dados de certificado necessários.
Para obter o ficheiro .cer do certificado, abra Gerir certificados de utilizador.
Localize o certificado de raiz autoassinado, normalmente em "Certificados – Utilizador Atual\Pessoal\Certificados" e clique com o botão direito do rato. Clique em Todas as Tarefas ->Exportar. Esta ação abre o Assistente para Exportar Certificados.
Se não conseguir encontrar o certificado em "Utilizador Atual\Pessoal\Certificados", poderá ter aberto acidentalmente "Certificados – Computador Local" em vez de "Certificados – Utilizador Atual".
No assistente, clique em Seguinte.
Selecione Não, não exportar a chave privada e, em seguida, clique em Seguinte.
Na página Formato do Ficheiro de Exportação, selecione X.509 codificado com Base-64 (.CER). e, em seguida, clique em Seguinte.
Em Ficheiro a Exportar, navegue para a localização para a qual pretende exportar o certificado. Em Nome do ficheiro, atribua um nome ao ficheiro de certificado. Em seguida, clique em Seguinte.
Clique em Concluir para exportar o certificado.
Verá uma confirmação a indicar "A exportação foi bem-sucedida".
Aceda à localização onde exportou o certificado e abra-o com um editor de texto, como o Bloco de Notas. Se exportou o certificado no X.509 codificado com Base-64 necessário (. Formato CER), verá texto semelhante ao seguinte exemplo. A secção realçada a azul contém as informações que copia e carrega para o Azure.
Se o seu ficheiro não tiver um aspeto semelhante ao exemplo, normalmente significa que não o exportou com o X.509 codificado com Base-64(). FORMATO CER). Além disso, se utilizar um editor de texto diferente do Bloco de Notas, compreenda que alguns editores podem introduzir formatação não intencional em segundo plano. Isto pode criar problemas ao carregar o texto deste certificado para o Azure.
Exportar o certificado de raiz autoassinado e a chave privada para armazená-lo (opcional)
Poderá querer exportar o certificado de raiz autoassinado e armazená-lo em segurança como cópia de segurança. Se necessário, pode instalá-lo mais tarde noutro computador e gerar mais certificados de cliente. Para exportar o certificado de raiz autoassinado como um .pfx, selecione o certificado de raiz e utilize os mesmos passos descritos em Exportar um certificado de cliente.
Exportar o certificado de cliente
Quando gera um certificado de cliente, este é instalado automaticamente no computador que utilizou para o gerar. Se quiser instalar o certificado de cliente noutro computador cliente, primeiro tem de exportar o certificado de cliente.
Para exportar um certificado de cliente, abra Gerir Certificados de Utilizador. Os certificados de cliente que gerou estão, por predefinição, localizados em "Certificados – Utilizador Atual\Pessoal\Certificados". Clique com o botão direito do rato no certificado de cliente que pretende exportar, clique em todas as tarefas e, em seguida, clique em Exportar para abrir o Assistente de Exportação de Certificados.
No Assistente de Exportação de Certificados, clique em Seguinte para continuar.
Selecione Sim, exporte a chave privada e, em seguida, clique em Seguinte.
Na página Exportar Formato de Ficheiro, deixe as predefinições selecionadas. Certifique-se de que Incluir todos os certificados no caminho de certificação, se possível está selecionado. Esta definição exporta adicionalmente as informações de certificado de raiz necessárias para a autenticação de cliente com êxito. Sem ela, a autenticação do cliente falha porque o cliente não tem o certificado de raiz fidedigna. Em seguida, clique em Seguinte.
Na página Segurança, tem de proteger a chave privada. Se optar por utilizar uma palavra-passe, certifique-se de que regista ou memoriza a palavra-passe que define para este certificado. Em seguida, clique em Seguinte.
Em Ficheiro a Exportar, Navegue até à localização para a qual pretende exportar o certificado. Em Nome do ficheiro, atribua um nome ao ficheiro de certificado. Em seguida, clique em Seguinte.
Clique em Concluir para exportar o certificado.
Instalar um certificado de cliente exportado
Cada cliente que se liga através de uma ligação P2S requer a instalação local de um certificado de cliente. Para instalar um certificado de cliente, veja Instalar um certificado de cliente para ligações ponto a site.
Passos seguintes
Continue com a configuração ponto a site.
- Para obter Resource Manager passos do modelo de implementação, veja Configurar p2S com a autenticação de certificado nativa do Azure.
- Para obter os passos clássicos do modelo de implementação, veja Configurar uma ligação VPN ponto a site a uma VNet (clássica).