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

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

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

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

  • การใช้คีย์
  • การใช้งานคีย์ที่ขยาย

การใช้คีย์

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

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

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

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับส่วนขยายการใช้งานที่สำคัญเหล่านี้ โปรดดู RFC5280, การใช้คีย์

การใช้งานคีย์ที่ขยาย

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

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

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

คีย์แบบขยายอาจเป็นคีย์สำคัญหรือไม่สำคัญก็ได้

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

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

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

Purpose การใช้คีย์

(บังคับ)

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

(ไม่บังคับ)

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

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

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

  • หากคุณไม่คุ้นเคยกับกลุ่มใบรับรอง โปรดอ่าน เชนความน่าเชื่อถือ
  • หากคุณไม่คุ้นเคยกับไลบรารี OpenSSL โปรดอ่าน OpenSSL
  • หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนขยายการใช้งานคีย์และการใช้งานคีย์เพิ่มเติม โปรดอ่าน RFC5280
  • หากต้องการใช้ตัวอย่างบรรทัดคำสั่งในคู่มือนี้ ให้ติดตั้งหรืออัปเดตเป็นเวอร์ชันล่าสุด เวอร์ชันของไคลเอ็นต์ OpenSSL
  • ตรวจสอบว่าใบรับรองอยู่ในรูปแบบ 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