แปลงใบรับรอง CERT / PEM เป็นใบรับรอง PFX


185

ฉันเห็นคำถามสองสามข้อเกี่ยวกับวิธีการแปลง PFX เป็นไฟล์ใบรับรอง แต่ฉันต้องดำเนินการต่อไป

ฉันมีสองไฟล์:

bob_cert.cert

bob_key.pem

ฉันต้องการแปลงให้เป็นไฟล์. pfx ไฟล์เดียว มีเครื่องมือที่ทำสิ่งนี้หรือไม่?


16
serverfault.com/a/9717/3202เป็นคำอธิบายที่ดีเกี่ยวกับรูปแบบไฟล์ใบรับรองเพียง fyi
Rory

คำตอบ:


350
openssl pkcs12 -inkey bob_key.pem -in bob_cert.cert -export -out bob_pfx.pfx

7
ฉันจะบรรลุสิ่งเดียวกันโดยทางโปรแกรมใน C # ได้อย่างไร
pankajt

2
คุณช่วยชี้ฉันในทิศทางของตัวอย่างเหล่านี้ได้ไหม ฉันดูเหมือนจะไม่พบอะไรเลย
Nick

10
Windows รุ่นของ OpenSSL สามารถใช้ได้ที่slproweb.com/products/Win32OpenSSL.html เพิ่งลองและมันทำงานได้อย่างถูกต้องเพื่อจุดประสงค์นี้
BrianFinkel

2
รายการคำสั่ง OpenSSL ทั่วไปที่ยอดเยี่ยมที่sslshopper.com/article-most-common-openssl-commands.html
Rory

4
การเพิ่มสองสามรายการ: -name "friendly name"ตั้งชื่อ (ซึ่งจะปรากฏในรายการใบรับรองใน Windows เป็นต้น) และ-certfile cacert.pemสามารถใช้เพื่อเพิ่มใบรับรอง CA และสร้าง.pfxไฟล์ที่มีทั้งเครือข่าย
pvgoran

22

นี่คือวิธีการทำสิ่งนี้บน Windows โดยไม่มีเครื่องมือของบุคคลที่สาม:

  1. นำเข้าใบรับรองไปยังที่เก็บใบรับรอง ใน Windows Explorer เลือก "ติดตั้งใบรับรอง" ในเมนูบริบท ป้อนคำอธิบายรูปภาพที่นี่ ทำตามตัวช่วยสร้างและยอมรับตัวเลือกเริ่มต้น "ผู้ใช้ท้องถิ่น" และ "อัตโนมัติ"

  2. ค้นหาใบรับรองของคุณในที่เก็บใบรับรอง ใน Windows 10 เรียกใช้ MMC "จัดการใบรับรองผู้ใช้" ใน Windows 2013 MMC เรียกว่า "ใบรับรอง" ใน Windows 10 โดยค่าเริ่มต้นใบรับรองของคุณควรอยู่ภายใต้โหนด "ส่วนบุคคล" -> "ใบรับรอง"

  3. ส่งออกใบรับรอง ในเมนูบริบทเลือกเมนู "ส่งออก ... ": ป้อนคำอธิบายรูปภาพที่นี่

    เลือก "ใช่ส่งออกคีย์ส่วนตัว": ป้อนคำอธิบายรูปภาพที่นี่

    คุณจะเห็นว่าตัวเลือก. PFX เปิดใช้งานในกรณีนี้: ป้อนคำอธิบายรูปภาพที่นี่

    ระบุรหัสผ่านสำหรับคีย์ส่วนตัว


11
ในขั้นตอนที่ 2 ใบรับรองของฉันจะไม่ "เป็นส่วนตัว" -> "ใบรับรอง" จะปรากฏใน "ผู้อื่น" -> "ใบรับรอง" และเมื่อส่งออกจะปรากฏ "การแลกเปลี่ยนข้อมูลส่วนบุคคล (PFX)" ปรากฏขึ้น คุณรู้วิธีเปิดใช้งานหรือไม่
Gabrielizalo

ฉันแก้ไขด้วยตัวแปลงใบรับรองแบบพกพาจาก DigiCert: digicert.com/util/ …
Gabrielizalo

13
คุณไม่สามารถนำเข้า PEM
Ross Presser

1
คุณต้องเปลี่ยนชื่อ. pem เป็น .cer ก่อนเพื่อให้ Windows รับรู้ไฟล์ดังกล่าวเป็นไฟล์ใบรับรอง / ไพรเวตคีย์ นามสกุลไฟล์ทั้งสองอาจมีใบรับรองและ / หรือคีย์ในรูปแบบข้อความธรรมดา ASCII หรือรูปแบบไบนารีที่เข้ารหัส Base64 / DER แต่คุณสามารถใช้ไฟล์ cer พร้อมกับยูทิลิตี้ในตัวของ Windows
Mastacheata

9
คำถามของ OP คือวิธีการนำเข้าเมื่อรหัสส่วนตัวไม่ได้รวมอยู่ในไฟล์ใบรับรอง แต่คุณมีสองไฟล์: crt และ pem (pem ที่มีรหัสส่วนตัว) คำตอบนี้ไม่ทำงานในกรณีนั้น
masi

16

ฉันสร้างไฟล์. pfx จากไฟล์. key และ. pem

แบบนี้ openssl pkcs12 -inkey rootCA.key -in rootCA.pem -export -out rootCA.pfx

นั่นไม่ใช่คำตอบโดยตรง แต่ก็อาจช่วยคนอื่นได้


5

หากคุณมีใบรับรองลงนามด้วยตนเองสร้างขึ้นโดยmakecert.exeบนเครื่อง Windows คุณจะได้รับสองไฟล์: และcert.pvk cert.cerสิ่งเหล่านี้สามารถแปลงเป็น pfx โดยใช้pvk2pfx

pvk2pfxพบได้ในตำแหน่งเดียวกับmakecert(เช่นC:\Program Files (x86)\Windows Kits\10\bin\x86หรือคล้ายกัน)

pvk2pfx -pvk cert.pvk -spc cert.cer -pfx cert.pfx
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.