Importar certificado .cer da linha de comando do Windows

5

Cansado de vasculhar as selvas do MMC, preciso de uma maneira de importar um determinado arquivo .cer (que contém apenas uma chave pública) para o armazenamento de certificados em toda a máquina (não sei como é chamado em inglês desde que eu usando uma versão localizada do Windows) na pasta "Certificados Pessoais". As versões cmd.exe ou PowerShell estarão bem.

    
por Anton Gogolev 14.10.2009 / 12:17

3 respostas

4

Solução Powershell, usando System.Security.Cryptograpy.X509Certificates :

$filename = "MyFileName.cer"

[Reflection.Assembly]::Load("System.Security, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b03f5f7f11d50a3a")

$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($filename)

$store = New-Object System.Security.Cryptography.X509Certificates.X509Store([System.Security.Cryptography.X509Certificates.StoreName]::My,[System.Security.Cryptography.X509Certificates.StoreLocation]::LocalMachine)

$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite);

$store.Add($cert);

Desculpe-nos por todas as especificações completas de namespace, mas não há diretiva "using" no PowerShell.

    
por 15.10.2009 / 11:23
1

Não sei como importá-lo a partir da linha de comando, mas você não precisa de MMCs para instalar um certificado, basta clicar duas vezes nele.

    
por 14.10.2009 / 12:26
0

Isso está errado. Veja o post de Massimo com a assembléia de reflexão do powershell.

Uh ... o caminho do powershell é abrir o MMC. Link do Technet

Este comando abre o snap-in Certificados do MMC para gerenciar o certificado especificado.

invoke item cert:\CurrentUser\myB8223358119BB08840DEE50FD8AF9EA776CE66B
    
por 14.10.2009 / 12:57