Импорт самозаверяющего сертификата с закрытым ключом в Windows из командной строки

6375
user1058410

Используя inetmgr, я создал pfx-файл, содержащий открытый и закрытый ключи для сертификата. Теперь я пытаюсь установить pfx на другую машину из командной строки с

certutil -p <password> -importpfx root <path_to_pfxfile> 

К сожалению, это только импорт открытого ключа. Если я использую оснастку certmgr, я могу импортировать оба ключа, но мне нужно иметь возможность автоматизировать это. Кто-нибудь может помочь?

1
Команда PowerShell `Import-PfxCertificate`, вероятно, сделает то, что вы хотите. Я не в состоянии проверить это прямо сейчас, но документация здесь: https://technet.microsoft.com/en-us/library/hh848625(v=wps.630).aspx Crippledsmurf 9 лет назад 0
Благодарю. Я попробую это в понедельник. Отправьте это как ответ, и если это работает, я выберу это. user1058410 9 лет назад 0

2 ответа на вопрос

2
Crippledsmurf

Команда Import-PfxCertificatePowerShell, вероятно, сделает то, что вы хотите. ,

Это позволит импортировать сертификаты и ключи, хранящиеся в my.pfxфайле, в Trusted Root Certificate Authoritiesхранилище сертификатов для локального компьютера.

Import-PfxCertificate –FilePath C:\mypfx.pfx cert:\localMachine\Root -Password $password 


Возможно, вам придется немного поэкспериментировать, чтобы найти имя, используемое для хранилища сертификатов, представляющего интерес. Я сделал это, скопировав отпечаток сертификата в соответствующем хранилище из пользовательского интерфейса, удалив пробелы, а затем запустив

ls|where {$_.Thumbprint -eq "<thumprint value here, with spaces removed>"}

Который дал мне это как часть вывода.

Directory: Microsoft.PowerShell.Security\Certificate::LocalMachine\Root

0
Alex G.

certutil не импортирует закрытый ключ. Вам придется использовать другой инструмент, такой как pk12util.

На этот вопрос уже был дан ответ. Пожалуйста, попробуйте найти решение вашей проблемы, прежде чем задать вопрос.

Смотрите этот ответ: https://serverfault.com/questions/647658/how-to-add-an-existing-key-to-the-certutil-key-database

И этот ответ: https://stackoverflow.com/questions/27161403/how-to-setup-dart-to-use-a-ca-ssl-certificate/27176982#27176982

Я должен был быть более конкретным. Другая машина - это веб-роль Windows Azure, и мне нужно импортировать сертификат при запуске роли. Поэтому использование инструментов open-ssl не вариант. user1058410 9 лет назад 0