Skip to main content

ERR_CERT_AUTHORITY_INVALID คือข้อผิดพลาดอะไร จะแก้ไขอย่างไร?

ความหมายของข้อผิดพลาด

ภาษาไทย: ผู้ออกใบรับรองไม่ถูกต้อง / ใบรับรองไม่ได้รับความเชื่อถือ เป็นข้อผิดพลาด SSL Certificate ที่พบบ่อยในเบราว์เซอร์

เมื่อคุณใช้เบราว์เซอร์เข้าถึงเว็บไซต์ HTTPS เบราว์เซอร์จะตรวจสอบว่า certificate chain ได้รับการออกโดย root certificate authority ที่เชื่อถือได้หรือไม่ หากเบราว์เซอร์ไม่สามารถเชื่อมโยงใบรับรองของเว็บไซต์เข้ากับ root certificate ที่ติดตั้งอยู่ในเครื่องได้ จะแสดงข้อผิดพลาดนี้

ข้อความแจ้งเตือนของแต่ละเบราว์เซอร์อาจแตกต่างกันเล็กน้อย:

  • Chrome/Edge: NET::ERR_CERT_AUTHORITY_INVALID หรือ "การเชื่อมต่อของคุณไม่ใช่การเชื่อมต่อแบบส่วนตัว"
  • Firefox: SEC_ERROR_UNKNOWN_ISSUER
  • Safari: "การเชื่อมต่อนี้ไม่ใช่การเชื่อมต่อแบบส่วนตัว"

สาเหตุที่ทำให้เกิด

1. Root certificate / Intermediate certificate chain ไม่ครบถ้วนหรือกำหนดค่าไม่สมบูรณ์ (พบบ่อยที่สุด)

บนเซิร์ฟเวอร์มีการติดตั้งเฉพาะ site certificate แต่ไม่ได้ติดตั้ง intermediate certificate (certificate chain) ทำให้เบราว์เซอร์ไม่สามารถระบุ certificate authority ได้

2. ใบรับรองถูกเพิกถอน

หาก CA เพิกถอนใบรับรองเนื่องจากสาเหตุ เช่น การรั่วไหลของกุญแจ เบราว์เซอร์จะปฏิเสธการเชื่อมต่อหลังจากตรวจพบสถานะการเพิกถอนผ่าน CRL หรือ OCSP

3. การตรวจสอบ OCSP ล้มเหลว

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

4. เซิร์ฟเวอร์ของผู้ให้บริการใบรับรองขัดข้อง

เมื่อเซิร์ฟเวอร์ OCSP / CRL ของ CA เกิดข้อขัดข้อง เบราว์เซอร์อาจแสดงข้อผิดพลาดเนื่องจากไม่สามารถตรวจสอบสถานะการเพิกถอนได้ (ขึ้นอยู่กับนโยบาย "soft fail" ของเบราว์เซอร์)

5. คลัง root certificate บนอุปกรณ์ล้าสมัย

คลัง root certificate ที่ติดตั้งมากับระบบปฏิบัติการไม่ได้รับการอัปเดตเป็นเวลานาน ทำให้ขาด root certificate ที่ออกใบรับรองนั้น ส่งผลให้ไม่สามารถสร้าง trust chain ได้ แนะนำให้อัปเดตระบบปฏิบัติการหรือนำเข้า root certificate ใหม่ด้วยตนเอง

6. เวลาของระบบไม่ถูกต้อง

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

7. การดักจับ/แก้ไขใบรับรองผ่านเครือข่าย

ซอฟต์แวร์ความปลอดภัย ไฟร์วอลล์ หรืออุปกรณ์ man-in-the-middle บางชนิดอาจทำ SSL inspection กับทราฟฟิก HTTPS และแทนที่ใบรับรองเดิมด้วย self-signed certificate ที่ส่งให้เบราว์เซอร์ หาก self-signed certificate นั้นไม่ได้ถูกเพิ่มเข้าในรายการที่เชื่อถือของไคลเอนต์ เบราว์เซอร์จะแสดงข้อผิดพลาดนี้


แนวทางแก้ไข

สำหรับ "certificate chain ไม่สมบูรณ์" (สาเหตุที่พบบ่อยที่สุด):

  1. เซิร์ฟเวอร์ส่วนใหญ่ (Nginx/Apache ฯลฯ): กรุณาใช้ไฟล์ .crt ที่อยู่ในโฟลเดอร์ "Nginx" ของแพ็กเกจใบรับรองที่เราให้มาโดยตรง ไฟล์ดังกล่าวมีทั้ง site certificate และ certificate chain ครบถ้วนอยู่แล้ว เพียงนำไปกำหนดค่าได้ทันที
  2. กรณีที่ต้องอัปโหลดไฟล์ certificate chain แยกต่างหาก: กรุณาใช้ไฟล์ .ca-bundle ที่อยู่ในโฟลเดอร์ "Apache" ของแพ็กเกจเป็นไฟล์ certificate chain เพื่ออัปโหลด
  3. เซิร์ฟเวอร์ IIS: ต้องนำเข้า intermediate certificate (ซึ่งรวมอยู่ในไฟล์ pfx แล้ว) พร้อมกับ site certificate ใน IIS management console และผูกอย่างถูกต้อง การอัปโหลดและผูกเฉพาะ site certificate ใน IIS จะทำให้เกิดข้อผิดพลาดนี้

สำหรับ "ใบรับรองถูกเพิกถอน":

  • เข้าสู่ระบบคอนโซล Racent เพื่อตรวจสอบสถานะใบรับรอง หากถูกเพิกถอนแล้วต้องยื่นขอใหม่หรือออกใบรับรองใหม่

สำหรับ "เวลาของระบบไม่ถูกต้อง":

  • ตั้งเวลาให้ระบบปฏิบัติการซิงก์กับเวลาอินเทอร์เน็ต (Windows: การตั้งค่า → เวลาและภาษา → ตั้งเวลาอัตโนมัติ)

สำหรับ "คลัง root certificate ล้าสมัย":

  • Windows: เรียกใช้ Windows Update เพื่อติดตั้งการอัปเดต root certificate ล่าสุด
  • Linux: sudo apt update && sudo apt install ca-certificates (Debian/Ubuntu) หรือ sudo yum update ca-certificates (CentOS)