É hora de substituir o certificado SSL e, embora eu pudesse, para meus servidores Windows, fazer isso da maneira tediosa (certificados mmc, importar manualmente), estou procurando algo que possa automatizar por meio de alguns scripts do PowerShell.
Eu conheço o Import-PfxCertificate e para importar um .pfx eu faria algo como:
$pwd = ConvertTo-SecureString -String "PrivateKeyPasswordGoesHere" -AsPlainText -Force
Import-PfxCertificate -Password $pwd -FilePath "\\path\to\pfxfile\pfxfile.pfx" -CertStoreLocation Cert:\LocalMachine\My -Exportable # optional if i want the private key to be exportable
Isso é tudo muito bom, mas ao contrário da maneira tediosa manual, ele só traz o próprio certificado da entidade; ele não traz nenhum outro certificado na cadeia completa (raiz, intermediários, etc).
Parece que posso fazer algo com Get-PfxData , que " extrai o conteúdo de um arquivo PFX (Personal Information Exchange) em uma estrutura que contém o certificado de entidade final, quaisquer certificados intermediários e raiz ", mas Import- Certificate tem um parâmetro obrigatório FilePath, então não posso canalizar a saída de Get-PfxData para ele.
Eu usei Get-PfxData para verificar se o PFX realmente contém a cadeia completa .
Eu também tentei a seguinte abordagem:
- Importe manualmente para os Certificados mmc.
- Use Export-PfxCertificate para exportar a cadeia completa (que deve ser feita em um formato consumível por Import-PfxCertificate).
- Use Import-PfxCertificate para importar o certificado exportado.
Mas, novamente, Import-PfxCertificate não traz a cadeia completa.
Alguma outra opção para quebrar essa porca?
Se a cadeia completa de certificados fizer parte do arquivo PFX,
Import-PfxCertificate
também importará todos os certificados relacionados e os colocará na pasta apropriada.Não há mais nada que você precise fazer.
Acabei fazendo isso manualmente, usando os Certificados mmc.
Em última análise, não parece haver garantia suficiente de que o método do PowerShell possa reproduzir o mesmo comportamento que o mmc e, para aplicativos críticos para os negócios, a garantia de usar o mmc foi importante o suficiente para reduzir o tempo e o esforço.
Eu testei isso também e
Import-PfxCertificate
importa a cadeia, mas se os certificados da cadeia já existirem (que foi o meu caso), eles não aparecem nos certificados pessoais. Consegui vincular meu pfx ao meu site e tudo funciona bem.