Konversi sertifikat CERT / PEM ke sertifikat PFX

185

Saya telah melihat beberapa pertanyaan tentang cara mengkonversi PFX ke file sertifikat, tapi saya harus pergi ke arah lain.

Saya punya dua file:

bob_cert.cert

bob_key.pem

Saya ingin mengonversinya menjadi satu file .pfx. Apakah ada alat yang melakukan ini?

bendewey
sumber
16
serverfault.com/a/9717/3202 adalah penjelasan yang bagus tentang format file cert, just fyi
Rory

Jawaban:

350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx
Francis
sumber
7
Bagaimana saya bisa mencapai hal yang sama secara terprogram dalam C #?
pankajt
2
Bisakah Anda mengarahkan saya ke arah contoh-contoh ini? Sepertinya saya tidak dapat menemukan apa pun.
Nick
10
OpenSSL versi Windows tersedia di slproweb.com/products/Win32OpenSSL.html . Baru saja mencobanya, dan itu berfungsi dengan baik untuk tujuan ini.
BrianFinkel
2
Daftar hebat perintah OpenSSL yang umum di sslshopper.com/article-most-common-openssl-commands.html
Rory
4
Beberapa tambahan: -name "friendly name"menetapkan nama (yang akan muncul dalam daftar sertifikat di Windows, misalnya), dan -certfile cacert.pemdapat digunakan untuk menambahkan sertifikat CA dan menghasilkan .pfxfile dengan seluruh rantai.
pvgoran
22

Berikut ini cara melakukannya di Windows tanpa alat pihak ketiga:

  1. Impor sertifikat ke toko sertifikat. Di Windows Explorer pilih "Instal Sertifikat" di menu konteks. masukkan deskripsi gambar di sini Ikuti wizard dan terima opsi default "Pengguna Lokal" dan "Secara Otomatis".

  2. Temukan sertifikat Anda di toko sertifikat. Pada Windows 10 jalankan MMC "Kelola Sertifikat Pengguna". Pada Windows 2013 MMC disebut "Sertifikat". Pada Windows 10 secara default sertifikat Anda harus di bawah simpul "Pribadi" -> "Sertifikat".

  3. Sertifikat Ekspor. Dalam menu konteks pilih menu "Ekspor ...": masukkan deskripsi gambar di sini

    Pilih "Ya, ekspor kunci pribadi": masukkan deskripsi gambar di sini

    Anda akan melihat bahwa opsi .PFX diaktifkan dalam kasus ini: masukkan deskripsi gambar di sini

    Tentukan kata sandi untuk kunci pribadi.

Hit WebDAV
sumber
11
Pada langkah 2, sertifikat saya tidak "Pribadi" -> "Sertifikat". Itu muncul di "Orang Lain" -> "Sertifikat", dan ketika mengekspor, "Pertukaran Informasi Pribadi (PFX)" tampaknya dinonaktifkan. Apakah Anda tahu cara mengaktifkannya?
Gabrielizalo
Saya memperbaiki dengan konverter sertifikat portabel dari DigiCert: digicert.com/util/…
Gabrielizalo
13
Anda tidak dapat mengimpor PEM.
Ross Presser
1
Anda harus mengganti nama .pem menjadi .cer terlebih dahulu agar Windows dapat mengenali file tersebut sebagai file kunci sertifikat / pribadi. Kedua ekstensi file dapat berisi sertifikat dan / atau kunci dalam plainteks ASCII-lapis baja atau format biner berkode Base64 / DER, tetapi Anda dapat menggunakan file cer dengan utilitas bawaan Windows.
Mastacheata
9
Pertanyaan OP adalah bagaimana cara mengimpornya ketika kunci pribadi tidak termasuk dalam file sertifikat tetapi Anda punya dua file: crt dan pem (pem berisi kunci pribadi). Jawaban ini tidak berfungsi dalam kasus itu.
masi
16

Saya membuat file .pfx dari file .key dan .pem.

Seperti ini openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

Itu bukan jawaban langsung tetapi masih mungkin itu membantu orang lain.

Siim Nelis
sumber
5

Jika Anda memiliki sertifikat yang ditandatangani sendiri yang dihasilkan oleh makecert.exepada mesin Windows, Anda akan mendapatkan dua file: cert.pvkdan cert.cer. Ini dapat dikonversi menjadi pfx menggunakanpvk2pfx

pvk2pfxditemukan di lokasi yang sama dengan makecert(misalnya C:\Program Files (x86)\Windows Kits\10\bin\x86atau serupa)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
EBlake
sumber