การแปลงใบรับรองเป็นรูปแบบที่สนับสนุน

คุณกำลังดูเอกสารประกอบของ Apigee Edge
ไปที่ เอกสารประกอบของ Apigee X
info

เอกสารนี้จะอธิบายวิธีแปลงใบรับรอง TLS และคีย์ส่วนตัวที่เชื่อมโยงเป็น รูปแบบ PEM หรือ PFX (PKCS #12)

Apigee Edge รองรับการจัดเก็บใบรับรองรูปแบบ PEM หรือ PFX ในคีย์สโตร์และ Trust Store เท่านั้น ขั้นตอนที่ใช้ในการแปลงใบรับรองจากรูปแบบที่มีอยู่เป็นรูปแบบ PEM หรือ PFX จะขึ้นอยู่กับชุดเครื่องมือ OpenSSL และใช้ได้กับทุก สภาพแวดล้อมที่มี OpenSSL

ก่อนเริ่มต้น

โปรดอ่านและทำความเข้าใจหัวข้อต่อไปนี้ก่อนใช้ขั้นตอนในเอกสารนี้

  • หากไม่คุ้นเคยกับรูปแบบ PEM หรือ PFX โปรดอ่าน เกี่ยวกับ TLS/SSL
  • หากไม่คุ้นเคยกับรูปแบบใบรับรอง โปรดอ่าน รูปแบบใบรับรอง SSL
  • หากไม่คุ้นเคยกับไลบรารี OpenSSL โปรดอ่าน OpenSSL
  • หากต้องการใช้ตัวอย่างบรรทัดคำสั่งในคู่มือนี้ ให้ติดตั้งหรืออัปเดตเป็น เวอร์ชันล่าสุดของไคลเอ็นต์ OpenSSL

การแปลงใบรับรองจากรูปแบบ DER เป็นรูปแบบ PEM

ส่วนนี้จะอธิบายวิธีแปลงใบรับรองและคีย์ส่วนตัวที่เชื่อมโยงจากรูปแบบ DER เป็นรูปแบบ PEM

  1. โอนไฟล์ที่มีเชนใบรับรองที่สมบูรณ์ (certificate.der) และคีย์ส่วนตัวที่เชื่อมโยง (private_key.der) ที่คุณต้องการแปลงเป็นรูปแบบ PEM ไปยังเครื่องที่ติดตั้ง OpenSSL โดยใช้ scp, sftp หรือยูทิลิตี้อื่นๆ

    ตัวอย่างเช่น ใช้คำสั่ง scp เพื่อโอนไฟล์ไปยังไดเรกทอรี /tmp ในเซิร์ฟเวอร์ที่มี OpenSSL ดังนี้

    scp certificate.der servername:/tmp
    scp private_key.der servername:/tmp

    โดยที่ servername คือชื่อของเซิร์ฟเวอร์ที่มี OpenSSL

  2. เข้าสู่ระบบเครื่องที่ติดตั้ง OpenSSL
  3. จากไดเรกทอรีที่ใบรับรองอยู่ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อ แปลงใบรับรองและคีย์ส่วนตัวที่เชื่อมโยงจากรูปแบบ DER เป็นรูปแบบ PEM
    openssl x509 -inform DER -in certificate.der -outform PEM -out certificate.pem
    openssl rsa -inform DER -in private_key.der -outform PEM -out private.key
  4. ตรวจสอบว่าใบรับรองได้รับการแปลงเป็นรูปแบบ PEM แล้ว

การแปลงใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PEM

ส่วนนี้จะอธิบายวิธีแปลงใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PEM

  1. โอนไฟล์ที่มีเชนใบรับรองที่สมบูรณ์ (certificate.p7b) ที่คุณต้องการแปลงเป็นรูปแบบ PEM ไปยังเครื่องที่ติดตั้ง OpenSSL โดยใช้ scp, sftp หรือยูทิลิตี้อื่นๆ

    ตัวอย่างเช่น ใช้คำสั่ง scp เพื่อโอนไฟล์ไปยังไดเรกทอรี /tmp ในเซิร์ฟเวอร์ที่มี OpenSSL ดังนี้

    scp certificate.p7b servername:/tmp

    โดยที่ servername คือชื่อของเซิร์ฟเวอร์ที่มี OpenSSL

  2. เข้าสู่ระบบเครื่องที่ติดตั้ง OpenSSL
  3. จากไดเรกทอรีที่ใบรับรองอยู่ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อแปลง ใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PEM
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.pem
  4. ตรวจสอบว่าใบรับรองได้รับการแปลงเป็นรูปแบบ PEM แล้ว

การแปลงใบรับรองจากรูปแบบ PFX เป็นรูปแบบ PEM

ส่วนนี้จะอธิบายวิธีแปลงใบรับรอง TLS จากรูปแบบ PFX เป็นรูปแบบ PEM

เมื่อแปลงไฟล์ PFX เป็นรูปแบบ PEM นั้น OpenSSL จะใส่ใบรับรองและคีย์ส่วนตัวทั้งหมด ลงในไฟล์เดียว คุณจะต้องเปิดไฟล์ในโปรแกรมแก้ไขข้อความและคัดลอกใบรับรอง และคีย์ส่วนตัวแต่ละรายการ (รวมถึงคำสั่ง BEGIN/END) ไปยังไฟล์ข้อความแต่ละไฟล์ แล้วบันทึกเป็น certificate.pfx, Intermediate.pfx (หากมี), CACert.pfx และ privateKey.key ตามลำดับ

Apigee รองรับรูปแบบ PFX/PKCS #12 แต่รูปแบบ PEM นั้นสะดวกด้วยเหตุผลหลายประการ รวมถึงการตรวจสอบ

  1. โอนใบรับรองและคีย์ส่วนตัว (certificate.pfx, Intermediate.pfx CACert.pfx, privateKey.key) ที่ คุณต้องการแปลงเป็นรูปแบบ PEM ไปยังเครื่องที่ติดตั้ง OpenSSL โดยใช้ scp, sftp หรือยูทิลิตี้อื่นๆ

    ตัวอย่างเช่น ใช้คำสั่ง scp เพื่อโอนไฟล์ไปยังไดเรกทอรี /tmp ในเซิร์ฟเวอร์ที่มี OpenSSL ดังนี้

    scp certificate.pfx servername:/tmp

    โดยที่ servername คือชื่อของเซิร์ฟเวอร์ที่มี OpenSSL

  2. เข้าสู่ระบบเครื่องที่ติดตั้ง OpenSSL
  3. จากไดเรกทอรีที่ใบรับรองอยู่ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อแปลง ใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PEM
    openssl pkcs12 -in certificate.pfx -out certificate.pem -nodes
  4. ตรวจสอบว่าใบรับรองได้รับการแปลงเป็นรูปแบบ PEM แล้ว

การแปลงใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PFX

ส่วนนี้จะอธิบายวิธีแปลงใบรับรอง TLS จากรูปแบบ P7B เป็นรูปแบบ PFX

หากต้องการแปลงเป็นรูปแบบ PFX คุณจะต้องได้รับคีย์ส่วนตัวด้วย

  1. โอนใบรับรอง (certificate.p7b) ที่คุณต้องการแปลงเป็น PFX ไปยังเครื่องที่ติดตั้ง OpenSSL โดยใช้ scp, sftp หรือยูทิลิตี้อื่นๆ

    ตัวอย่างเช่น ใช้คำสั่ง scp เพื่อโอนไฟล์ไปยังไดเรกทอรี /tmp ในเซิร์ฟเวอร์ที่มี OpenSSL ดังนี้

    scp certificate.p7b servername:/tmp
    scp private_key.key servername:/tmp

    โดยที่ servername คือชื่อของเซิร์ฟเวอร์ที่มี OpenSSL

  2. เข้าสู่ระบบเครื่องที่ติดตั้ง OpenSSL
  3. จากไดเรกทอรีที่ใบรับรองอยู่ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อแปลง ใบรับรองจากรูปแบบ P7B เป็นรูปแบบ PFX และส่งออกใบรับรองเอนทิตีและใบรับรอง CA ระดับกลาง ไปยังไฟล์แยกต่างหาก
    openssl pkcs7 -print_certs -in certificate.p7b -out certificate.cer
    
    openssl pkcs12 -export -in certificate.cer -inkey private_key.key -out certificate.pfx -certfile CACert.cer

การตรวจสอบว่าใบรับรองอยู่ในรูปแบบ PEM

ส่วนนี้จะอธิบายวิธีตรวจสอบว่าใบรับรองอยู่ในรูปแบบ PEM

  1. หากต้องการดูใบรับรองที่อยู่ในรูปแบบ PEM ให้เรียกใช้คำสั่งต่อไปนี้
    openssl x509 -in certificate.pem -text -noout
  2. หากดูเนื้อหาของใบรับรองในรูปแบบที่มนุษย์อ่านได้โดยไม่มี ข้อผิดพลาด คุณจะยืนยันได้ว่าใบรับรองอยู่ในรูปแบบ PEM
  3. หากใบรับรองอยู่ในรูปแบบอื่น คุณจะเห็นข้อผิดพลาดต่อไปนี้
    unable to load certificate
    12626:error:0906D06C:PEM routines:PEM_read_bio:no start line:pem_lib.c:647:Expecting: TRUSTED CERTIFICATE View DER encoded Certificate

การแพ็กเกจไฟล์คีย์และใบรับรอง PEM เป็น PKCS12/PFX

  1. ตรวจสอบว่าไฟล์คีย์ส่วนตัวอยู่ในรูปแบบ PEM สำหรับใบรับรอง หากคุณมีไฟล์ PEM แยกต่างหากสำหรับเชน ให้เปิดแต่ละไฟล์ในโปรแกรมแก้ไขข้อความและรวมไฟล์เหล่านั้นเป็นไฟล์เดียวดังที่แสดงด้านล่าง
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    ...
    -----END CERTIFICATE-----
  2. โอนไฟล์ไปยังเครื่องที่ติดตั้ง OpenSSL โดยใช้ scp, sftp หรือยูทิลิตี้อื่นๆ
    scp certificate.pem servername:/tmp
    scp private.key servername:/tmp
  3. เข้าสู่ระบบเครื่องที่ติดตั้ง OpenSSL
  4. จากไดเรกทอรีที่ไฟล์อยู่ ให้เรียกใช้คำสั่งต่อไปนี้เพื่อแพ็กเกจไฟล์เป็นไฟล์ PKCS12 ที่มีนามแฝง myalias เมื่อได้รับข้อความแจ้ง ให้ป้อนรหัสผ่านที่เหมาะสม
    openssl pkcs12 -export -in certificate.pem -inkey private.key -out keystore.pfx -name myalias