конвертувати формат pfx в p12


119

Мені потрібно експортувати .pfxсертифікат формату (з Windows mmc) до .p12 для використання в іншій програмі. Я не можу знайти спосіб це зробити. Чи може хтось запропонувати метод?

Відповіді:


202

.p12і .pfxобидва файли PKCS # 12. Я щось пропускаю?

Ви намагалися перейменувати експортований .pfxфайл, щоб мати .p12розширення?


9
Вас здивує, чому вони є двома різними розширеннями файлів, якщо вони дійсно одна і та ж річ під кришкою.
BrainSlugs83

29
Причина існування двох розширень файлів - це історична. PFX був розширенням Microsoft, а P12 - Netscape. Обидва формати тепер адаптовані до ідентичності, тобто розробники можуть використовувати .NET System.Security.Cryptography.X509Certificate простір імен для роботи з обома. Дивіться тут для отримання додаткової інформації.
SnapShot

6
Розширення назви файлів для файлів PKCS # 12 - це ".p12" або ".pfx". Microsoft "PFX" отримала жорстку критику як один із найскладніших криптографічних протоколів. PKCS №12 є спадкоємцем Microsoft "PFX". PKCS №12 є одним із сімейства стандартів під назвою Стандарти криптографії з відкритим ключем (PKCS), опублікованими лабораторіями RSA.
AKS

1
перейменування не завжди працює, оскільки. наприклад, якщо ви використовуєте SoapUI і перевіряєте його двосторонню автентифікацію, вона не вдається. p12 & pfx мають історію повернення до Netscape & IE. вони АЛЬМОСТЬ однакові, але не однакові файли. тож деякі програми можуть зрозуміти як незалежне розширення, а інші потребують 100% сумісного дійсного p12, наприклад SoapUI
M.Hefny,

10

У мене виникли проблеми з .pfx файлом з openconnect. Перейменування проблеми не вирішило. Я використовував keytool для перетворення його в .p12 і він працював.

keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx

У моєму випадку пароль для нового файлу (new.p12) повинен бути таким же, як і пароль для .pfx-файлу.


2
Не працює, навіть якщо я використовував один і той же пароль. з'явилася помилка "помилка клавіатури: java.io.IOException: Недійсний формат зберігання ключів"
Джон Сміт

5

Якщо ви шукаєте швидкий і ручний процес з користувальницьким інтерфейсом. Я завжди використовую Mozilla Firefox для перетворення з PFX в P12. Спочатку імпортуйте сертифікат у браузер Firefox (Опції> Конфіденційність та безпека> Переглянути сертифікати ...> Імпорт ...). Після встановлення виконайте експорт, щоб створити файл P12, вибравши ім'я сертифіката з Менеджера сертифікатів, а потім натисніть Резервне копіювання ... та введіть ім'я файлу, а потім введіть пароль.


4

Це більше продовження відповіді jglouie.

Якщо ви використовуєте openssl для перетворення сертифіката PKCS # 12 в публічні / приватні ключі PEM, не потрібно перейменовувати файл. Якщо припустити, що файл називається cert.pfx, наступні три команди створять відкритий ключ pem та зашифрований приватний ключ pem:

openssl pkcs12 -in cert.pfx     -out cert.pem     -nodes -nokeys
openssl pkcs12 -in cert.pfx     -out cert_key.pem -nodes -nocerts
openssl rsa    -in cert_key.pem -out cert_key.pem -des3

Перші дві команди можуть запросити пароль імпорту. Це буде пароль, наданий файл PKCS №12.

Третя команда дозволить вказати парольну фразу шифрування для сертифіката. Це те, що ви введете під час використання сертифіката.


Перша команда перезаписує другу, тому, можливо, просто виконайте кроки 2 і 3. FYI для читачів, Des3 - це шифрування за замовчуванням для приватного ключа.
goodguys_activate

1

Запустіть цю команду, щоб змінити .certфайл на .p12:

openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt 

Де server.keyзнаходиться серверний ключ і server.certце сертифікат видачі сертифіката CA або файл cert самопідписання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.