Как я могу экспортировать сертификат из MMC в виде файла PFX?


19

Я пытаюсь изменить свойство KeySpec сертификата для подписи кода в Comodo, следуя этому руководству . В руководстве упоминается, как импортировать файл сертификата в MMC, а затем снова экспортировать его. Тем не менее, у меня нет возможности экспортировать файлы в формате PFX. У меня уже есть файл PFX; Я могу успешно импортировать его, но когда я иду на экспорт, опция неактивна / отключена.

pfx отключен

Что мне нужно сделать, чтобы включить эту опцию экспорта?

Ответы:


29

Оснастка «Сертификаты» действительно не любит экспортировать сертификаты PFX, но PowerShell рад этому. Вы можете использовать Export-PfxCertificateкомандлет.

  1. Перейдите к псевдоприводу сертификатов, введя cd cert:\в командной строке PowerShell.
  2. Введите cd CurrentUserили cd LocalMachineв зависимости от того, где находится сертификат. Вам может потребоваться запустить PowerShell от имени администратора, чтобы экспортировать сертификат компьютера.
  3. cdв соответствующий магазин ( dirможет помочь). Персональный магазин в ММС называется Myздесь.
  4. Используйте, dirчтобы определить, какой идентификатор соответствует сертификату, который вы хотите.
  5. Введите эту команду, чтобы экспортировать ее как PFX с паролем:

    Export-PfxCertificate -Cert .\LONGSTRINGOFHEX -FilePath 'C:\path\to\outfile.pfx' -Password (ConvertTo-SecureString -String 'password' -AsPlainText -Force)
    

    LONGSTRINGOFHEXдолжен быть заменен идентификатором вашего сертификата. К счастью, вы можете использовать завершение вкладки на этом.

После выполнения этой команды у вас есть сертификат PFX, защищенный паролем, который вы указали. PowerShell отказывается экспортировать закрытый ключ сертификата без пароля, и пароль не может быть пустым. Тем не менее, ваш PFX отсутствует.


Пожалуйста, прости такой невежественный вопрос, но как мне установить командлет? В настоящее время, когда я набираю cert:PS, я получаю «Термин« cert: »не распознается как имя командлета, функции, файла сценария или работающей программы». Windows 10 конечно.
soapergem

@SoaperGEM Мои извинения, так и должно быть cd cert:\.
Бен Н

1
@SoaperGEM Этот командлет доступен в Windows 8, 8.1, 10, Server 2012 и Server 2012 R2. Судя по вашему скриншоту, вы настроены. Кроме того, при импорте сертификата найдите флажок, который позволяет пометить закрытый ключ как экспортируемый. Это должно дать вам возможность экспортировать его через MMC.

2
Я получаю сообщение об ошибке - Невозможно экспортировать неэкспортируемый закрытый ключ. Может ли кто-нибудь помочь определить проблему.
Раджа Доржи

1
@RajaDorji Если закрытый ключ был помечен как неэкспортируемый, система обычно отказывается от экспорта. Такие инструменты, как Mimikatz ( упомянутый здесь ), могут обойти это с помощью неофициальных методов.
Бен Н

0

Если вы импортируете сертификат в хранилище WebHosting, вы не сможете экспортировать закрытый ключ. Переместите его в личный магазин, и вы сможете экспортировать как PFX. Я смог сделать это в Windows 2012R2, не переходя в командную строку и не используя Export-PfxCertificate (что очень сложно, так как я не смог выяснить идентификатор сертификата, чтобы спасти мою жизнь).


Ладно я ошибаюсь Просто повезло. Мне пришлось повторить эту задачу еще раз (переиздал сертификат), и этот метод больше не работает :(
MC9000

Вы можете найти идентификатор сертификата, перейдя в раздел IIS> Machine> Server Certificates или к тому cd cert:\LocalMachine\Myвремени 'dir'
Девин Глисон Ламберт,

-1

Экспортируйте файл .P7B один раз. А затем вернитесь и попробуйте снова экспортировать сертификат. Экспорт в .PFX включится в следующий раз.


Это, конечно, не работает!
MC9000
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.