ฉันคิดว่าคุณมีไฟล์. cer ที่มีข้อมูลใบรับรองที่เข้ารหัส PKCS # 7 และคุณต้องการแปลงเป็นข้อมูลใบรับรองที่เข้ารหัส PEM (โดยทั่วไปจะเป็นไฟล์. crt หรือ. pem) ตัวอย่างเช่นไฟล์. cer ที่มีข้อมูลเข้ารหัส PKCS # 7 มีลักษณะดังนี้:
----- เริ่มต้น PKCS7 -----
MIIW4gYJKoZIhvcNAQcCoIIW0zCCFs8CAQExADALBgkqhkiG9w0BBwGggha1MIIH
...
POI9n9cd2cNgQ4xYDiKWL2KjLB + 6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G
+ bKhADEA
----- จบ PKCS7 -----
ข้อมูลใบรับรอง PEM มีลักษณะดังนี้:
----- เริ่มต้นการรับรอง -----
MIIHNjCCBh6gAwIBAgIQAlBxtqKazsxUSR9QdWWxaDANBgkqhkiG9w0BAQUFADBm
...
nv72c / OV4nlyrvBLPoaS5JFUJvFUG8RfAEY =
----- สิ้นสุดการรับรอง -----
มีคำสั่ง OpenSSL ที่จะแปลงไฟล์. cer (พร้อมข้อมูล PKCS # 7) เป็นข้อมูล PEM ที่คุณอาจคาดหวังว่าจะพบ ( BEGIN CERTIFICATE
บล็อกในตัวอย่างด้านบน) คุณสามารถบังคับข้อมูล PKCS # 7 ให้เป็นรูปแบบ PEM โดยคำสั่งนี้ในไฟล์ที่เราเรียกว่า certfile.cer:
openssl pkcs7 -text -in certfile.cer -print_certs -outform PEM -out certfile.pem
โปรดทราบว่าไฟล์. cer หรือ. pem อาจมีใบรับรองตั้งแต่หนึ่งรายการขึ้นไป (อาจเป็นห่วงโซ่ใบรับรองทั้งหมด)
CER
และCRT
ส่วนขยายไม่มีความหมายอะไรเลย ผู้ให้บริการ PKI ต่างใช้ส่วนขยายที่แตกต่างกันสำหรับสิ่งเดียวกัน หากไฟล์เป็นไบนารีแสดงว่าอาจมีการเข้ารหัส ASN.1 / DER หากไฟล์นั้นมนุษย์สามารถอ่านได้โดยมี-----BEGIN CERTIFICATE-----
การเข้ารหัส PEM คุณมีอะไร (DER หรือ PEM) และคุณต้องการอะไร (DER หรือ PEM)?