Конвертировать.pfx to.ССВ

можно ли преобразовать a .pfx (обмен личной информацией) файл .файл cer (сертификат безопасности)? Если я не ошибаюсь, нет .cer каким-то образом встроен в a .pfx-файл? Я бы хотел как-нибудь извлечь его, если возможно.

5 ответов


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


pfx файлы,PKCS#12 синтаксис обмена личной информацией стандарт связки. Они могут включать произвольное количество закрытых ключей с сопровождающими сертификатами X. 509 и цепочку центров сертификации (набор сертификатов).

Если вы хотите извлечь сертификаты клиента, вы можете использовать инструмент pkcs12 OpenSSL.

openssl pkcs12 -in input.pfx -out mycerts.crt -nokeys -clcerts

команда выше выведет сертификат (ы) в формате PEM. Этот." crt " расширение файла обрабатывается как macOS и Окно.

вы упоминаете ".расширение " cer " в вопросе, который обычно используется для закодированных файлов DER. Кодировка "бинарт". Попробуй ".crt " файл первый, и если это не принято, легко конвертировать из PEM в DER:

openssl x509 -inform pem -in mycerts.crt -outform der -out mycerts.cer

если вы работаете в PowerShell, вы можете использовать что-то вроде следующего, учитывая pfx-файл InputBundle.pfx-файл, чтобы создать файл сертификата с кодировкой DER (двоичный)OutputCert.дер:

Get-PfxCertificate -FilePath InputBundle.pfx | 
Export-Certificate -FilePath OutputCert.der -Type CERT

добавлена новая строка для ясности, но вы, конечно, можете иметь все это на одной строке.

Если вам нужен сертификат в формате ASCII / Base64, закодированном PEM, вы можете предпринять дополнительные шаги, чтобы сделать это, как описано в другом месте, например здесь: https://superuser.com/questions/351548/windows-integrated-utility-to-convert-der-to-pem

Если вам нужно экспортировать в другой формат, чем закодированный DER, вы можете изменить -Type параметр для экспорта-сертификат для использования типов, поддерживаемых .NET, как показано в help Export-Certificate -Detailed:

-Type <CertType>
    Specifies the type of output file for the certificate export as follows. 
     -- SST: A Microsoft serialized certificate store (.sst) file format which can contain one or more certificates. This is the default value for multiple certificates. 
     -- CERT: A .cer file format which contains a single DER-encoded certificate. This is the default value for one certificate. 
     -- P7B: A PKCS#7 file format which can contain one or more certificates.

Я хотел добавить метод, который, я думаю, был самым простым из всех.

  1. просто щелкните правой кнопкой мыши файл pfx, нажмите "Установить" следуйте указаниям Мастера и добавьте его в магазин (я добавил в личный магазин).

  2. в меню Пуск введите certmgr.msc и перейдите в программу CertManager.

  3. найдите свой сертификат pfx (вкладки вверху-это различные магазины), нажмите кнопку "Экспорт" и следуйте указаниям мастера (есть возможность экспортировать как .CER)

по сути, он делает то же самое, что и ответ Эндрю, но избегает использования консоли управления Windows (переходит прямо к импорту/экспорту).


openssl rsa -in f.pem -inform PEM -out f.der -outform DER