ไม่สิ่งนี้ไม่ควร (ในความหมายของ RFC ของ "ไม่ควร") ทำงานเป็น บันทึกไว้ใน RFC 6125 (การเป็นตัวแทนและการตรวจสอบบริการแอปพลิเคชันบนโดเมน
ข้อมูลประจำตัวภายในโครงสร้างพื้นฐานคีย์สาธารณะทางอินเทอร์เน็ตโดยใช้ X.509 (PKIX)
ใบรับรองในบริบทของ Transport Layer Security (TLS)):
หากไคลเอนต์จับคู่ตัวระบุอ้างอิงกับที่นำเสนอ
ตัวระบุซึ่งส่วนชื่อโดเมน DNS มีสัญลักษณ์แทน
อักขระ '*' ใช้กฎต่อไปนี้:
ไคลเอนต์ไม่ควรพยายามจับคู่ตัวระบุที่นำเสนอซึ่งอักขระตัวแทนประกอบด้วยป้ายกำกับอื่นที่ไม่ใช่
ป้ายซ้ายสุด (เช่น ไม่ตรงกับ bar.*.example.net)
หากอักขระตัวแทนเป็นอักขระเดียวของป้ายกำกับซ้ายสุดในตัวระบุที่นำเสนอ ไคลเอนต์ไม่ควรเปรียบเทียบ
กับสิ่งใดนอกจากป้ายกำกับด้านซ้ายสุดของตัวระบุอ้างอิง
(เช่น *.example.com จะตรงกับ foo.example.com แต่ไม่
bar.foo.example.com หรือ example.com)
[...]
รวมสองสิ่งนี้เข้าด้วยกัน:
- คุณไม่สามารถมีไวด์การ์ดที่อื่นนอกจากส่วนซ้ายสุด (คั่นด้วยจุด) ของใบรับรอง: ไวลด์การ์ดภายในไม่ถูกต้อง
- คุณไม่สามารถมีใบรับรองไวด์การ์ดที่ตรงกับส่วนฉลากเพิ่มเติม (เช่น: คั่นด้วยจุด) ทางด้านซ้าย: หมายความว่าหากใช้ไวด์การ์ดเดียวที่ถูกต้อง จะไม่มีส่วนใดที่เหลือเพิ่มเติมที่สามารถจับคู่ได้ (เช่น hello.world thhost3.de ไม่ตรงกับใบรับรอง *.thhost3.de)
สิ่งที่คุณทำได้คือออกใบรับรองที่มีชิ้นส่วน SAN จำนวนมากซึ่งอาจมีไวด์การ์ด (ที่ถูกต้อง) แต่ฉันไม่แน่ใจว่าคุณจะได้รับสิ่งนี้จาก Let's Encrypt หรือไม่
แก้ไข: *.stackexchange.com
ลงนามโดย Let's Encrypt ด้วย SAN หลายตัวที่มีไวด์การ์ด
ตัวอย่าง:
$ openssl s_client -เชื่อมต่อ stackexchange.com:443 </dev/null 2>/dev/null| opensl x509 -noout -ข้อความ | grep -A1 'X509v3 Subject Alternative Name' | tr ',' '\n'
X509v3 ชื่อสำรองของหัวเรื่อง:
DNS:*.askubuntu.com
DNS:*.blogoverflow.com
DNS:*.mathoverflow.net
DNS:*.meta.stackexchange.com
DNS:*.meta.stackoverflow.com
DNS:*.serverfault.com
DNS:*.sstatic.net
DNS:*.stackexchange.com
DNS:*.stackoverflow.com
DNS:*.stackoverflow.email
DNS:*.superuser.com
DNS:askubuntu.com
[...]