ปัญหา เช้านี้ (30 กันยายน 2021) พบว่า อยู่ ๆ เว็บเซิร์ฟเวอร์ที่ให้บริการ ซึ่งใช้ Let’s Encrypt ก็ ขึ้นหน้า “This connection is not private” เป็นเฉพาะกับ เครื่อง Mac, iPhone, iPad ไม่ว่าจะใช้ Safari หรือ Chrome ก็ตาม
เอ่ เพิ่ง Renew ไปเมื่อเดือนที่แล้ว เกิดอะไรขึ้น
ลองคลิกที่รูป Key แล้ว View Certificate พบว่า
อ้าว … ไรว้า
ก็ Google ดู พบว่า Root CA ของ Let’s Encrypt “รุ่นเก่า” ทะยอยหมดอายุ
https://letsencrypt.org/docs/dst-root-ca-x3-expiration-september-2021/
กล่าคือ ถ้าของใคร Root CA (บนสุดของภาพ) เป็น
DST Root CA X3
จะทำให้การใช้งานจาก Web Browser บน Apple ใช้งานไม่ได้
ก็ restart ดู ก็ยังไม่หาย เอ่ ทำไมนะ
ขอ Renew ใหม่ ก็ยังไม่หาย
หาไปหามา ไปพบ
https://community.letsencrypt.org/t/r3-certificate-expired-macos/160852
เค้าบอกว่า ลองดูซิ ว่า Root CA ตัวใหม่ที่ได้มา เป็นของอะไร ด้วยคำสั่ง
openssl crl2pkcs7 -nocrl -certfile "fullchain.pem" | openssl pkcs7 -noout -print_certs
คำสั่งนี้ ทำที่เดียวกันกับไฟล์ fullchain.pem
พบว่า
issuer=C = US, O = Let's Encrypt, CN = R3
subject=C = US, O = Let's Encrypt, CN = R3
issuer=C = US, O = Internet Security Research Group, CN = ISRG Root X1
subject=C = US, O = Internet Security Research Group, CN = ISRG Root X1
issuer=O = Digital Signature Trust Co., CN = DST Root CA X3
เอ่ …. ก็ได้ Root CA เป็น ISRG Root X1 แล้วนะ ทำไมยังใช้ไม่ได้
ไปตรวจสอบดู httpd.conf
อ้อ …
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/ssl/letsencrypt/cert.pem
SSLCertificateKeyFile /etc/ssl/letsencrypt/privkey.pem
</VirtualHost>
เราอ้างอิงแค่ cert.perm
วิธีแก้ไขคือ ไปเพิ่ม
SSLCertificateChainFile /etc/ssl/letsencrypt/fullchain.pem
ให้เป็นแบบนี้
<VirtualHost *:443>
SSLEngine on
SSLCertificateChainFile /etc/ssl/letsencrypt/fullchain.pem
SSLCertificateFile /etc/ssl/letsencrypt/cert.pem
SSLCertificateKeyFile /etc/ssl/letsencrypt/privkey.pem
</VirtualHost>
จากนั้น ก็ restart
เรียบร้อย