แปลงรูปแบบ 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.X509Certificates เนมสเปซเพื่อทำงานกับทั้งสองอย่างได้ ดูที่นี่สำหรับข้อมูลเพิ่มเติม
SnapShot

6
นามสกุลไฟล์สำหรับไฟล์ PKCS # 12 คือ ".p12" หรือ ".pfx" "PFX" ของ Microsoft ได้รับคำวิจารณ์อย่างหนักว่าเป็นโปรโตคอลการเข้ารหัสที่ซับซ้อนที่สุดชนิดหนึ่ง PKCS # 12 เป็นตัวต่อจาก "PFX" ของ Microsoft PKCS # 12 เป็นหนึ่งในตระกูลของมาตรฐานที่เรียกว่า Public-Key Cryptography Standards (PKCS) ที่เผยแพร่โดย RSA Laboratories
AKS

1
การเปลี่ยนชื่อไม่ได้ผลเสมอไปเพราะ ตัวอย่างเช่นหากคุณใช้ SoapUI และทดสอบการตรวจสอบสิทธิ์แบบ 2 ทางก็ล้มเหลว p12 & pfx มีประวัติกลับไปที่ Netscape & IE ไฟล์เหล่านี้เกือบจะเหมือนกัน แต่ไม่ใช่ไฟล์ที่เหมือนกัน ดังนั้นแอพบางตัวสามารถเข้าใจได้โดยไม่คำนึงถึงส่วนขยายและอื่น ๆ ต้องการ p12 ที่เข้ากันได้ 100% เช่น
SoapUI

10

ฉันมีปัญหากับไฟล์. pfx ด้วย openconnect การเปลี่ยนชื่อไม่ได้ช่วยแก้ปัญหา ฉันใช้ keytool เพื่อแปลงเป็น. p12 และใช้งานได้

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

ในกรณีของฉันรหัสผ่านสำหรับไฟล์ใหม่ (new.p12) จะต้องเหมือนกับรหัสผ่านสำหรับไฟล์. pfx


2
ใช้งานไม่ได้แม้ว่าฉันจะใช้รหัสผ่านเดียวกันสำหรับทั้งคู่ ได้รับข้อผิดพลาด "keytool error: java.io.IOException: Invalid keystore format"
John Smith

5

หากคุณกำลังมองหากระบวนการที่รวดเร็วและดำเนินการด้วยตนเองด้วย UI ฉันใช้ 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 หรือไฟล์ใบรับรองการลงนามด้วยตนเอง

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