การกำหนดค่า TLS 1.3 สำหรับการรับส่งข้อมูลไปทางใต้

หน้านี้อธิบายวิธีกำหนดค่า TLS 1.3 ใน Apigee Message Processor สำหรับการรับส่งข้อมูลทางใต้ (การรับส่งข้อมูลระหว่าง Message Processor และเซิร์ฟเวอร์แบ็กเอนด์)

ดูข้อมูลเพิ่มเติมเกี่ยวกับฟีเจอร์ TLS 1.3 ใน Java ได้ที่ บันทึกประจำรุ่นของการอัปเดต JDK 8u261

ขั้นตอนการเปิดใช้ TLS 1.3 จะขึ้นอยู่กับเวอร์ชันของ Java ที่ใช้อยู่ โปรดดู ตรวจสอบเวอร์ชันของ Java ใน Message Processor ด้านล่างเพื่อดูเวอร์ชันของ Java ที่ติดตั้ง ในเครื่องมือประมวลผลข้อความ

TLS v1.3 และเวอร์ชัน Java

ฟีเจอร์ TLS 1.3 เปิดตัวใน Java เวอร์ชันต่อไปนี้

  • Oracle JDK 8u261
  • OpenJDK 8u272

ใน Java เวอร์ชันต่อไปนี้ มีฟีเจอร์ TLS v1.3 อยู่ แต่ไม่ได้เปิดใช้โดยค่าเริ่มต้น ในบทบาทลูกค้า

  • Oracle JDK 8u261 ขึ้นไป แต่น้อยกว่า Oracle JDK 8u341
  • OpenJDK 8u272 หรือใหม่กว่า แต่น้อยกว่า OpenJDK 8u352

หากใช้เวอร์ชันเหล่านี้ คุณต้องเปิดใช้ TLS v1.3 ตามที่อธิบายไว้ ในวิธีเปิดใช้ TLS v1.3 เมื่อไม่ได้เปิดใช้งานโดยค่าเริ่มต้น

หากคุณใช้เวอร์ชันใดเวอร์ชันหนึ่งต่อไปนี้ คุณควรเปิดใช้ TLS v1.3 ตามค่าเริ่มต้น ในบทบาทไคลเอ็นต์ (ตัวประมวลผลข้อความทำหน้าที่เป็นไคลเอ็นต์ สำหรับการเชื่อมต่อ TLS แบบทิศใต้) คุณจึงไม่ต้องดำเนินการใดๆ

  • Oracle JDK 8u341 ขึ้นไป
  • OpenJDK 8u352 ขึ้นไป

เงื่อนไขต่อไปนี้ต้องเป็นจริงทั้งหมดเพื่อให้ TLS v1.3 ทำงานได้

  • การใช้ Java ใน Message Processor ต้องรองรับ TLS v1.3
  • ต้องเปิดใช้ TLS v1.3 ใน Java ใน Message Processor
  • ต้องเปิดใช้ TLS v1.3 ในแอปพลิเคชัน Message Processor

วิธีเปิดใช้ TLS v1.3 ใน Java เมื่อไม่ได้เปิดใช้งานโดยค่าเริ่มต้น

ส่วนนี้จะอธิบายวิธีเปิดใช้ TLS v1.3 ในกรณีที่ใช้อย่างใดอย่างหนึ่งต่อไปนี้ เวอร์ชันของ Java:

  • Oracle JDK 8u261 ขึ้นไป แต่น้อยกว่า Oracle JDK 8u341
  • OpenJDK 8u272 หรือใหม่กว่า แต่น้อยกว่า OpenJDK 8u352

ในตัวประมวลผลข้อความ ให้ตั้งค่าพร็อพเพอร์ตี้ Java jdk.tls.client.protocols ค่าต่างๆ จะคั่นด้วยเครื่องหมายจุลภาคและมีได้ตั้งแต่ 1 ค่าขึ้นไป TLSv1, TLSv1.1, TLSv1.2, TLSv1.3 และ SSLv3

ตัวอย่างเช่น การตั้งค่า -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3 จะเป็นการเปิดใช้ไคลเอ็นต์ โปรโตคอล TLSv1.2 และ TLSv1.3

ดูเพื่อเปลี่ยนรายการอื่นๆ พร็อพเพอร์ตี้ JVM ไปยัง ดูวิธีตั้งค่าพร็อพเพอร์ตี้ JVM ในคอมโพเนนต์ Edge

วิธีเปิดใช้โปรโตคอล TLS v1, v1.1, v1.2 และ v1.3

  1. ตั้งค่าการกำหนดค่าต่อไปนี้ใน ไฟล์การกำหนดค่าโปรแกรมประมวลผลข้อความ (/opt/apigee/customer/application/message-processor.properties): วันที่
       bin_setenv_ext_jvm_opts=-Djdk.tls.client.protocols=TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
  2. รีสตาร์ทโปรแกรมประมวลผลข้อความ
>

วิธีปิดใช้ TLS v1.3 เมื่อเปิดใช้งานโดยค่าเริ่มต้น

หากคุณใช้ Oracle JDK 8u341 ขึ้นไป หรือ OpenJDK 8u352 ขึ้นไป TLSv1.3 จะเปิดใช้โดย ค่าเริ่มต้นสำหรับลูกค้า หากต้องการปิดใช้ TLS v1.3 ในกรณีดังกล่าว คุณมี 2 ตัวเลือก ดังนี้

  • กำหนดค่า SSLInfo ของเซิร์ฟเวอร์เป้าหมายและตรวจสอบว่าไม่มี TLSv1.3 ใน รายการโปรโตคอล โปรดดู องค์ประกอบการกำหนดค่าปลายทางปลายทาง TLS/SSL หมายเหตุ: หากไม่มีการระบุโปรโตคอลในการกำหนดค่าเซิร์ฟเวอร์เป้าหมาย โปรโตคอลที่ Java สนับสนุนจะส่งเป็นตัวเลือกในแฮนด์เชคไคลเอ็นต์
  • ปิดใช้ TLS v1.3 ในโปรแกรมประมวลผลข้อความโดยปิดใช้โปรโตคอลทั้งหมด โปรดดู ตั้งค่าโปรโตคอล TLS บน Message Processor

ตรวจสอบเวอร์ชันของ Java ใน Message Processor

หากต้องการตรวจสอบเวอร์ชันของ Java ที่ติดตั้งใน Message Processor ให้เข้าสู่ระบบ Message Processor และเรียกใช้คำสั่งต่อไปนี้

java -version

เอาต์พุตตัวอย่างด้านล่างแสดงให้เห็นว่ามีการติดตั้ง OpenJDK 8u312 ไว้

$ java -version
openjdk version "1.8.0_312"
OpenJDK Runtime Environment (build 1.8.0_312-b07)
OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode)

การเข้ารหัสที่รองรับ

ปัจจุบัน Java 8 รองรับการเข้ารหัส TLS v1.3 2 ชุด ดังนี้

  • TLS_AES_256_GCM_SHA384
  • TLS_AES_128_GCM_SHA256

คุณสามารถใช้ openssl เพื่อตรวจสอบว่าเซิร์ฟเวอร์เป้าหมายรองรับ TLS v1.3 และ ตัวเข้ารหัสด้านบนโดยใช้ที่ด้านล่าง โปรดทราบว่าตัวอย่างนี้ใช้ยูทิลิตี openssl11 ที่มี เปิดใช้งาน TLS v1.3 แล้ว

$ openssl11 s_client -ciphersuites "TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256" -connect target_host:target_port -tls1_3