คุณกำลังดูเอกสารประกอบของ 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 จะล้มเหลว
การใช้คีย์และการใช้คีย์เพิ่มเติมที่แนะนำสำหรับใบรับรองที่ใช้ใน Apigee Edge
| วัตถุประสงค์ |
การใช้คีย์
(บังคับ) |
การใช้คีย์เพิ่มเติม
(ไม่บังคับ) |
| ใบรับรองเอนทิตีเซิร์ฟเวอร์ที่ใช้ใน Keystore ของโฮสต์เสมือน Apigee Edge |
|
การตรวจสอบสิทธิ์เว็บเซิร์ฟเวอร์ TLS |
| ใบรับรองเอนทิตีไคลเอ็นต์ที่ใช้ใน Truststore ของโฮสต์เสมือน Apigee Edge |
|
การตรวจสอบสิทธิ์ไคลเอ็นต์ TLS WWW |
| ใบรับรองเอนทิตีเซิร์ฟเวอร์ที่ใช้ใน Truststore ของเซิร์ฟเวอร์เป้าหมาย Apigee Edge |
|
การตรวจสอบสิทธิ์เว็บเซิร์ฟเวอร์ TLS |
| ใบรับรองเอนทิตีไคลเอ็นต์ที่ใช้ใน Keystore ของเซิร์ฟเวอร์เป้าหมาย Apigee Edge |
|
การตรวจสอบสิทธิ์ไคลเอ็นต์ TLS WWW |
| ใบรับรองกลางและใบรับรองรูท |
|
ก่อนเริ่มต้น
โปรดตรวจสอบว่าคุณเข้าใจหัวข้อต่อไปนี้ก่อนที่จะใช้ขั้นตอนในเอกสารนี้
- หากไม่คุ้นเคยกับเชนใบรับรอง โปรดอ่าน เชนความน่าเชื่อถือ
- หากไม่คุ้นเคยกับไลบรารี OpenSSL โปรดอ่าน OpenSSL
- หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับส่วนขยายการใช้คีย์และการใช้คีย์เพิ่มเติม โปรดอ่าน RFC5280
- หากต้องการใช้ตัวอย่างบรรทัดคำสั่งในคู่มือนี้ ให้ติดตั้งหรืออัปเดตเป็นเวอร์ชันล่าสุดของ OpenSSL Client
- ตรวจสอบว่าใบรับรองอยู่ในรูปแบบ PEM หากไม่อยู่ ให้อัปเดตใบรับรองเป็นรูปแบบ PEM
ตรวจสอบวัตถุประสงค์ของใบรับรอง
ส่วนนี้อธิบายขั้นตอนที่ใช้ในการตรวจสอบวัตถุประสงค์ของใบรับรอง
- เข้าสู่ระบบเซิร์ฟเวอร์ที่มี OpenSSL
-
หากต้องการดูการใช้คีย์ของใบรับรอง ให้เรียกใช้คำสั่ง 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 -
หากการใช้คีย์เป็นแบบบังคับ ระบบจะกำหนดให้เป็นสำคัญดังนี้
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign -
เรียกใช้คำสั่งต่อไปนี้เพื่อดู การใช้คีย์เพิ่มเติม สำหรับใบรับรอง
หากไม่ได้กำหนดการใช้คีย์เพิ่มเติมเป็นสำคัญ ก็จะเป็นเพียงคำแนะนำเท่านั้น ไม่ใช่ข้อบังคับ
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