กําลังตรวจสอบความถูกต้องของใบรับรอง

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

เอกสารนี้อธิบายวิธีตรวจสอบวัตถุประสงค์ของใบรับรองก่อนที่จะอัปโหลดใบรับรอง ไปยัง Keystore หรือ Truststore กระบวนการนี้ใช้ OpenSSL ในการตรวจสอบและใช้ได้กับทุกสภาพแวดล้อมที่มี OpenSSL

โดยทั่วไปแล้ว ใบรับรอง TLS จะออกให้โดยมีวัตถุประสงค์อย่างน้อย 1 ข้อที่สามารถใช้ใบรับรองได้ ซึ่งโดยปกติแล้วจะทำเพื่อจำกัดจำนวนการดำเนินการที่สามารถใช้คีย์สาธารณะที่มีอยู่ ในใบรับรองได้ วัตถุประสงค์ของใบรับรองจะอยู่ในส่วนขยายใบรับรองต่อไปนี้

  • การใช้คีย์
  • การใช้คีย์เพิ่มเติม

การใช้คีย์

ส่วนขยายการใช้คีย์จะกำหนดวัตถุประสงค์ (เช่น การเข้ารหัส ลายเซ็น หรือ การลงนามใบรับรอง) ของคีย์ที่มีอยู่ในใบรับรอง หากใช้คีย์สาธารณะเพื่อ การตรวจสอบสิทธิ์เอนทิตี ส่วนขยายใบรับรองควรมีการใช้คีย์ ลายเซ็นดิจิทัล

ส่วนขยายการใช้คีย์ต่างๆ ที่ใช้ได้กับใบรับรอง TLS ที่สร้างขึ้นโดยใช้กระบวนการผู้ออกใบรับรอง (CA) มีดังนี้

  • ลายเซ็นดิจิทัล
  • การป้องกันการปฏิเสธความรับผิดชอบต่อข้อมูล
  • ใช้คีย์เข้ารหัส
  • การเข้ารหัสข้อมูล
  • ข้อตกลงเกี่ยวกับคีย์
  • การลงนามใบรับรอง
  • การลงนาม CRL
  • เข้ารหัสเท่านั้น
  • ถอดรหัสเท่านั้น

ดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนขยายการใช้คีย์เหล่านี้ได้ที่ RFC5280, Key Usage

การใช้คีย์เพิ่มเติม

ส่วนขยายนี้ระบุวัตถุประสงค์อย่างน้อย 1 ข้อที่สามารถใช้คีย์สาธารณะที่ได้รับการรับรองได้ นอกเหนือจากหรือแทนที่วัตถุประสงค์พื้นฐานที่ระบุไว้ในส่วนขยายการใช้คีย์ โดยทั่วไปแล้ว ส่วนขยายนี้จะปรากฏในใบรับรองเอนทิตีปลายทางเท่านั้น

ส่วนขยายการใช้คีย์เพิ่มเติมที่พบบ่อยมีดังนี้

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

คีย์เพิ่มเติมอาจเป็น สำคัญ หรือ ไม่สำคัญ

  • หากส่วนขยายเป็น สำคัญ จะต้องใช้ใบรับรองเพื่อวัตถุประสงค์ที่ระบุไว้เท่านั้น หากใช้ใบรับรองเพื่อวัตถุประสงค์อื่น จะถือว่าเป็นการละเมิดนโยบายของ CA
  • หากส่วนขยายเป็น ไม่สำคัญ จะระบุวัตถุประสงค์ที่ต้องการของคีย์เพื่อเป็นข้อมูลและไม่ได้หมายความว่า CA จะจำกัดการใช้คีย์ไว้เฉพาะวัตถุประสงค์ที่ระบุไว้ อย่างไรก็ตาม แอปพลิเคชันที่ใช้ใบรับรองอาจกำหนดให้ระบุวัตถุประสงค์ที่เฉพาะเจาะจง เพื่อให้ใบรับรองเป็นที่ยอมรับ

หากใบรับรองมีทั้งช่องการใช้คีย์และช่องการใช้คีย์เพิ่มเติมเป็น สำคัญ ระบบจะต้องประมวลผลทั้ง 2 ช่องแยกกัน และจะใช้ใบรับรองได้ เฉพาะเพื่อวัตถุประสงค์ที่ตรงตามค่าการใช้คีย์ ทั้ง 2 ค่า อย่างไรก็ตาม หากไม่มี วัตถุประสงค์ที่ตรงตามค่าการใช้คีย์ทั้ง 2 ค่า ก็จะต้องไม่ใช้ใบรับรองนั้นเพื่อ วัตถุประสงค์ใดๆ

เมื่อจัดหาใบรับรอง ให้ตรวจสอบว่าใบรับรองมีการใช้คีย์ที่เหมาะสมซึ่งกำหนดไว้เพื่อให้เป็นไปตาม ข้อกำหนดสำหรับใบรับรองไคลเอ็นต์หรือเซิร์ฟเวอร์ หากไม่มีการใช้คีย์ที่เหมาะสม การจับมือกันของ TLS จะล้มเหลว

วัตถุประสงค์ การใช้คีย์

(บังคับ)

การใช้คีย์เพิ่มเติม

(ไม่บังคับ)

ใบรับรองเอนทิตีเซิร์ฟเวอร์ที่ใช้ใน Keystore ของโฮสต์เสมือน Apigee Edge
  • ลายเซ็นดิจิทัล
  • ใช้คีย์เข้ารหัสหรือข้อตกลงเกี่ยวกับคีย์
การตรวจสอบสิทธิ์เว็บเซิร์ฟเวอร์ TLS
ใบรับรองเอนทิตีไคลเอ็นต์ที่ใช้ใน Truststore ของโฮสต์เสมือน Apigee Edge
  • ลายเซ็นดิจิทัลหรือข้อตกลงเกี่ยวกับคีย์
การตรวจสอบสิทธิ์ไคลเอ็นต์ TLS WWW
ใบรับรองเอนทิตีเซิร์ฟเวอร์ที่ใช้ใน Truststore ของเซิร์ฟเวอร์เป้าหมาย Apigee Edge
  • ลายเซ็นดิจิทัล
  • ใช้คีย์เข้ารหัสหรือข้อตกลงเกี่ยวกับคีย์
การตรวจสอบสิทธิ์เว็บเซิร์ฟเวอร์ TLS
ใบรับรองเอนทิตีไคลเอ็นต์ที่ใช้ใน Keystore ของเซิร์ฟเวอร์เป้าหมาย Apigee Edge
  • ลายเซ็นดิจิทัลหรือข้อตกลงเกี่ยวกับคีย์
การตรวจสอบสิทธิ์ไคลเอ็นต์ TLS WWW
ใบรับรองกลางและใบรับรองรูท
  • ลงนามใบรับรอง
  • ลงนามรายการยกเลิกใบรับรอง (CRL)

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

โปรดตรวจสอบว่าคุณเข้าใจหัวข้อต่อไปนี้ก่อนที่จะใช้ขั้นตอนในเอกสารนี้

  • หากไม่คุ้นเคยกับเชนใบรับรอง โปรดอ่าน เชนความน่าเชื่อถือ
  • หากไม่คุ้นเคยกับไลบรารี OpenSSL โปรดอ่าน OpenSSL
  • หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนขยายการใช้คีย์และการใช้คีย์เพิ่มเติม โปรดอ่าน RFC5280
  • หากต้องการใช้ตัวอย่างบรรทัดคำสั่งในคู่มือนี้ ให้ติดตั้งหรืออัปเดตเป็นเวอร์ชันล่าสุดของ OpenSSL Client
  • ตรวจสอบว่าใบรับรองอยู่ในรูปแบบ PEM หากไม่อยู่ ให้อัปเดตใบรับรองเป็นรูปแบบ PEM

ตรวจสอบวัตถุประสงค์ของใบรับรอง

ส่วนนี้อธิบายขั้นตอนที่ใช้ในการตรวจสอบวัตถุประสงค์ของใบรับรอง

  1. เข้าสู่ระบบเซิร์ฟเวอร์ที่มี OpenSSL
  2. หากต้องการดูการใช้คีย์ของใบรับรอง ให้เรียกใช้คำสั่ง OpenSSL ต่อไปนี้
    openssl x509 -noout -ext keyUsage < certificate

    โดยที่ certificate คือชื่อของใบรับรอง

    ตัวอย่างเอาต์พุต

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. หากการใช้คีย์เป็นแบบบังคับ ระบบจะกำหนดให้เป็นสำคัญดังนี้
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. เรียกใช้คำสั่งต่อไปนี้เพื่อดู การใช้คีย์เพิ่มเติม สำหรับใบรับรอง หากไม่ได้กำหนดการใช้คีย์เพิ่มเติมเป็นสำคัญ ก็จะเป็นเพียงคำแนะนำเท่านั้น ไม่ใช่ข้อบังคับ
    openssl x509 -noout -ext extendedKeyUsage < certificate

    โดยที่ certificate คือชื่อของใบรับรอง

    ตัวอย่างเอาต์พุต

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication