เป็นไปได้ไหมที่จะแปลงไฟล์. pfx (การแลกเปลี่ยนข้อมูลส่วนบุคคล) ไปเป็นไฟล์. cer (ใบรับรองความปลอดภัย) เว้นแต่ว่าฉันเข้าใจผิดจะไม่. ฝังตัวอยู่ภายใน. pfx อย่างใด? ฉันต้องการสกัดบางวิธีถ้าเป็นไปได้
เป็นไปได้ไหมที่จะแปลงไฟล์. pfx (การแลกเปลี่ยนข้อมูลส่วนบุคคล) ไปเป็นไฟล์. cer (ใบรับรองความปลอดภัย) เว้นแต่ว่าฉันเข้าใจผิดจะไม่. ฝังตัวอยู่ภายใน. pfx อย่างใด? ฉันต้องการสกัดบางวิธีถ้าเป็นไปได้
คำตอบ:
วิธีง่าย ๆ ที่ฉันเชื่อคือการนำเข้าแล้วส่งออกโดยใช้ตัวจัดการใบรับรองใน Windows Management Console
ไฟล์ 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
หากคุณทำงานใน 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.
ฉันต้องการเพิ่มวิธีการที่ฉันคิดว่าง่ายที่สุดของทั้งหมด
เพียงคลิกขวาที่ไฟล์ pfx คลิก "ติดตั้ง" ตามตัวช่วยสร้างและเพิ่มไปยังร้านค้า (ฉันเพิ่มไปยังร้านค้าส่วนบุคคล)
ในเมนูเริ่มพิมพ์ certmgr.msc และไปที่โปรแกรม CertManager
ค้นหาใบรับรอง pfx ของคุณ (แท็บด้านบนเป็นร้านค้าต่าง ๆ ) คลิกปุ่มส่งออกและทำตามตัวช่วยสร้าง (มีตัวเลือกให้ส่งออกเป็น. CER)
โดยพื้นฐานแล้วมันทำในสิ่งเดียวกันกับคำตอบของ Andrew แต่หลีกเลี่ยงการใช้ Windows Management Console (ตรงไปที่การนำเข้า / ส่งออก)
openssl rsa -in f.pem -inform PEM -out f.der -outform DER