Как узнать пароль от pfx файла
Как следует из названия, я хотел бы экспортировать свой закрытый ключ без использования OpenSSL или любого другого стороннего инструмента. Если мне понадобится .cer файл или .pfx файл, я могу легко экспортировать их через MMC или PowerShell pkiclient но я не могу найти способ получить закрытый ключ.
Я могу получить открытый ключ так:
И экспортируйте весь сертификат следующим образом:
Протестировал команду от @Brad, но я получил ошибку ниже.
Закрытый ключ НЕ экспортируется в виде обычного текста
Аналогичен мастеру экспорта сертификатов в сертификатах MMC, только экспорт в .pfx доступно, если ключ включен.
- Вам обязательно понадобится .pfx файл как .cer файлы не хранят закрытые ключи. Какой ваш $PSVersionTable ? Вы можете использовать Get-PfxData -FilePath 'mycertificate.pfx' -Password (ConvertTo-SecureString -Force -AsPlainText -String 'MyClearTextPassword') ?
- @PetruZaharia Да я в курсе, написал это как пример того, что можно экспортировать. :) Обновил вопрос с PSVersion и тем, что я пробовал. Я могу, но не могу экспортировать закрытый ключ.
У меня была такая же проблема, и я решил ее с помощью модуля PSPKI Powershell из PS Gallery. Хотя я понимаю, что вы ищете решение, которое предпочтительно использует некоторые встроенные функции Windows, установка модуля из PS Gallery может быть приемлемой. По крайней мере, так было в моем случае.
Сначала установите модуль PSPKI (я предполагаю, что репозиторий PSGallery уже настроен):
Модуль PSPKI предоставляет командлет Convert-PfxToPem который преобразует pfx-файл в pem-файл, который содержит сертификат и ключ pirvate в виде текста в кодировке base64:
Теперь все, что нам нужно сделать, это разделить pem-файл с помощью некоторой магии регулярных выражений. Например, вот так:
- Хороший ответ, но я бы предпочел не использовать стороннюю библиотеку, как вы говорите. Однако, поскольку это пока лучший ответ, я буду отмечать его как принятый, пока не будет лучшая альтернатива. :)
Если я правильно понимаю, certutil должен сделать это за вас.
certutil -exportPFX -p 'ThePasswordToKeyonPFXFile' my [serialNumberOfCert] [fileNameOfPFx]
Взгляните на эти ответы:
Попробуйте что-то вроде этого:
Хм. Вы пробовали открыть хранилище сертификатов и получить таким образом закрытый ключ? Вполне уверен, что это будет работать только с сертификатами RSA / DSA.
Читайте также: