แปลง. pfx เป็น .cer


155

เป็นไปได้ไหมที่จะแปลงไฟล์. pfx (การแลกเปลี่ยนข้อมูลส่วนบุคคล) ไปเป็นไฟล์. cer (ใบรับรองความปลอดภัย) เว้นแต่ว่าฉันเข้าใจผิดจะไม่. ฝังตัวอยู่ภายใน. pfx อย่างใด? ฉันต้องการสกัดบางวิธีถ้าเป็นไปได้

คำตอบ:


90

วิธีง่าย ๆ ที่ฉันเชื่อคือการนำเข้าแล้วส่งออกโดยใช้ตัวจัดการใบรับรองใน Windows Management Console


5
ฉันพยายามทำเช่นนี้ แต่เมื่อฉันเลือกคีย์ส่วนตัวส่งออกฉันได้รับตัวเลือก. cer (เข้ารหัส DER) และยูทิลิตี้ midletsigner จำเป็น provatekey แต่อย่างใด ..
Jigar Joshi

3
คุณต้องทำเครื่องหมายในช่องเมื่อคุณนำเข้าข้อความที่ระบุว่า "ทำเครื่องหมายว่าคีย์นี้เป็นแบบส่งออกได้"
Andrew Cox

11
วิธีไปที่ตัวจัดการใบรับรองใน Windows: msdn.microsoft.com/en-us/library/ms788967.aspx
James White

12
วิธีที่ง่ายกว่าในการเปิดตัวจัดการใบรับรอง Windows คือพิมพ์ "certmgr.msc" ที่พรอมต์คำสั่ง
Jan Derk

@AndrewCox อย่างไรก็ตามมีความแตกต่างเบื้องหลังการทำเครื่องหมายว่าสามารถส่งออกได้และไม่ทำเครื่องหมายเช่นนั้น หรือว่าเป็นเพียงตัวเลือก UI
Pacerier

212

ไฟล์ PFX มีPKCS # 12 แลกเปลี่ยนข้อมูลส่วนบุคคลไวยากรณ์มาตรฐานการรวมกลุ่ม พวกเขาสามารถรวมจำนวนคีย์ส่วนตัวโดยพลการพร้อมใบรับรอง X.509 และห่วงโซ่ผู้ออกใบรับรอง (ตั้งใบรับรอง)

หากคุณต้องการที่จะดึงใบรับรองไคลเอ็นต์คุณสามารถใช้เครื่องมือ PKCS12 OpenSSL ของ

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

คำสั่งด้านบนจะแสดงผลใบรับรองในรูปแบบ PEM นามสกุลไฟล์ ".crt" ได้รับการจัดการโดยทั้ง macOS และ Window

คุณพูดถึงส่วนขยาย ".cer" ในคำถามที่ใช้ตามปกติสำหรับไฟล์ที่เข้ารหัส DER การเข้ารหัสแบบไบนารี ลองใช้ไฟล์ ".crt" ก่อนหากไม่ยอมรับให้แปลงจาก PEM เป็น DER ได้ง่าย:

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

9
+1 สำหรับการอธิบายว่าไฟล์คืออะไรนอกเหนือจากการให้คำสั่ง
Joshua Drake

"Mac ตรวจสอบข้อผิดพลาด: รหัสผ่านไม่ถูกต้อง" เมื่อฉันลองมัน ฉันไม่รู้รหัสผ่านใด ๆ ฉันแค่ให้ไฟล์ที่ผู้ขายของฉันให้
Brian Knoblauch

1
ดูเหมือนว่าการทิ้ง "-nokeys" จะทำงานเมื่อคุณพยายามที่จะแปลงใบรับรองด้วยกุญแจส่วนตัวของมันพูดเพื่อใช้กับ Fiddler
Gert van den Berg

@Berk นอกเหนือจาก OpenSSL แล้ว Windows cmd ยังมีวิธีอื่นอีกหรือไม่?
Pacerier

45

หากคุณทำงานใน PowerShell คุณสามารถใช้สิ่งต่อไปนี้กำหนดไฟล์ pfx InputBundle.pfxเพื่อสร้างไฟล์ใบรับรอง DER ที่เข้ารหัส (ไบนารี) OutputCert.der :

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

เพิ่มบรรทัดใหม่เพื่อความชัดเจน แต่แน่นอนว่าคุณสามารถมีทั้งหมดนี้ในบรรทัดเดียว

หากคุณต้องการใบรับรองในรูปแบบ PEM ที่เข้ารหัส ASCII / Base64 คุณสามารถทำตามขั้นตอนพิเศษดังเช่นที่บันทึกไว้ที่อื่นเช่นที่นี่: /superuser/351548/windows-integrated-utility-to-convert -der เพื่อ 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.

ใบรับรองการส่งออกสามารถใช้ได้กับบางรุ่นเช่น Win 8.1 และ Server 2012 R2 เท่านั้น หากคุณอยู่ในรุ่นอื่น ๆ เช่น Win 7 ก็ไม่มีโชค!
Deep-B

1
มันควรจะอยู่ใน Server 2012 และ Windows 8.0 ( technet.microsoft.com/en-us/library/hh848628(v=wps.620).aspx ) แต่จุดที่ดีเกี่ยวกับ Windows 7 และเช่นนั้น!
เอียนกัลลาเกอร์

@IanGallagher สิ่งนี้เปรียบเทียบกับตัวเลือกของ OpenSSL อย่างไร
Pacerier

วิธีนี้จะสะดวกกว่านี้ถ้าคุณไม่ต้องการติดตั้ง OpenSSL
Leonardo Herrera

25

ฉันต้องการเพิ่มวิธีการที่ฉันคิดว่าง่ายที่สุดของทั้งหมด

  1. เพียงคลิกขวาที่ไฟล์ pfx คลิก "ติดตั้ง" ตามตัวช่วยสร้างและเพิ่มไปยังร้านค้า (ฉันเพิ่มไปยังร้านค้าส่วนบุคคล)

  2. ในเมนูเริ่มพิมพ์ certmgr.msc และไปที่โปรแกรม CertManager

  3. ค้นหาใบรับรอง pfx ของคุณ (แท็บด้านบนเป็นร้านค้าต่าง ๆ ) คลิกปุ่มส่งออกและทำตามตัวช่วยสร้าง (มีตัวเลือกให้ส่งออกเป็น. CER)

โดยพื้นฐานแล้วมันทำในสิ่งเดียวกันกับคำตอบของ Andrew แต่หลีกเลี่ยงการใช้ Windows Management Console (ตรงไปที่การนำเข้า / ส่งออก)


ไม่เร็วนักเนื่องจากคุณยังต้องเปิด certmgr.msc เพื่อส่งออก ....
Pacerier

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