ฉบับย่อ: ไม่มีใครรู้ว่าใบรับรองไคลเอ็นต์ X.509 ควรทำงานบน iPad สำหรับเมล IMAP หรือไม่ ฉันเสียเวลากับการพยายามใช้คุณลักษณะที่ไม่สามารถใช้งานได้หรือไม่ หากแอปอีเมลในตัวไม่รองรับ IMAP กับไคลเอนต์ X.509 certs (เช่น: ทำงานได้เฉพาะกับบัญชี Microsoft Exchange ActiveSync) มีแอปของบุคคลที่สามที่ทำเช่นนั้นหรือไม่
เฉพาะ iOS 5.1 หรือใหม่กว่านั้นเป็นที่สนใจ 5.1 เป็นรุ่นที่ฉันทดสอบอยู่
ฉันเป็นผู้ดูแลระบบเครือข่ายที่จำเป็นต้องใช้นโยบายในการใช้ใบรับรองไคลเอ็นต์ X.509 เพื่อปกป้องการสื่อสารภายนอกทั้งหมดรวมถึงเซิร์ฟเวอร์อีเมล IMAP (Cyrus IMAPd) และเซิร์ฟเวอร์ SMTP ของเรา (postfix) จะไม่ยอมรับการเชื่อมต่อโดยไม่มีไคลเอนต์ที่แสดงใบรับรองไคลเอ็นต์ X.509 ที่ถูกต้อง การปิดใช้งานข้อกำหนดใบรับรองลูกค้าไม่ใช่ตัวเลือกสำหรับฉันและเราไม่ได้รับอนุญาตให้ทำการรับส่งข้อมูลผ่านทาง VPN ด้วยเหตุผลที่คล้ายกัน
ตอนนี้เรามีผู้ใช้ iPad ที่ต้องการเชื่อมต่อกับเครือข่ายของเราและกำลังหา iPad ให้เป็นปัญหา
สำหรับผู้ใช้บนเครื่องเดสก์ท็อปเรามักจะติดตั้งธันเดอร์เบิร์ดเนื่องจากมี IMAP ที่แข็งแกร่งพร้อมการรองรับใบรับรองลูกค้าที่ยอดเยี่ยม มัน "ใช้งานได้" และเป็นเหมือนการสนับสนุนในทุกแพลตฟอร์ม นี่ไม่ใช่ตัวเลือกสำหรับ iPad
น่าเสียดายที่แอปอีเมลในตัวของ iPad ดูเหมือนจะไม่จัดการกับใบรับรองไคลเอ็นต์สำหรับ IMAP ฉันสามารถติดตั้งใบรับรองหลักขององค์กรและใบรับรองลูกค้าของผู้ใช้โดยใช้ยูทิลิตี้กำหนดค่า iPhone ทั้งสองจะแสดงเป็น "ตรวจสอบ" ในการตั้งค่า -> ทั่วไป -> โปรไฟล์ จากนั้น iPad ยอมรับว่าเซิร์ฟเวอร์ของเราเชื่อถือได้และไม่แสดงคำเตือนใด ๆ เกี่ยวกับข้อมูลประจำตัวของเซิร์ฟเวอร์ที่ไม่ได้รับการยืนยัน
เมลยังคงล้มเหลวในการส่งใบรับรองไคลเอ็นต์เมื่อมีการร้องขอเพื่อให้เซิร์ฟเวอร์ยุติการจับมือกัน ไม่แจ้งให้ผู้ใช้เลือกหนึ่งอันและไม่ส่งใบรับรองไคลเอ็นต์ที่ติดตั้งไว้สำหรับผู้ใช้ที่ตรงกับใบรับรอง CA ที่แสดงโดยเซิร์ฟเวอร์โดยอัตโนมัติ
การตรวจสอบปริมาณการรับส่งข้อมูลระหว่างไคลเอนต์และเซิร์ฟเวอร์แสดงให้เห็นว่าการเจรจา TLS ล้มเหลวเมื่อ iPad ตอบสนองด้วยชุดใบรับรองลูกค้าที่ว่างเปล่าเมื่อเซิร์ฟเวอร์ร้องขอใบรับรองจากลูกค้า ดูด้านล่าง
เมื่อเชื่อมต่อกับเครือข่ายภายในผ่าน WiFi ที่เข้ารหัสซึ่งไม่จำเป็นต้องมีใบรับรองไคลเอ็นต์เพื่อรับเมลอุปกรณ์จะเชื่อมต่อและดาวน์โหลดเมลได้ดี การเข้าถึงภายนอก (WiFi สาธารณะหรือผ่าน 3G) ล้มเหลวไม่ว่าฉันจะใช้พอร์ต IMAPs 993 กับ "Use SSL" ที่เลือกไว้หรือพอร์ต IMAP + TLS 143 ที่มีหรือไม่มีการ "เลือกใช้ SSL" นอกเหนือจากการขาดการสนับสนุนการเจรจาต่อรองของใบรับรองไคลเอ็นต์สำหรับ IMAP มันก็สมบูรณ์แบบ
การอ้างอิงถึงการสนับสนุนใบรับรองไคลเอ็นต์ในเอกสารประกอบสำหรับ "การสนับสนุนระดับองค์กร" ของ Appleจะปรากฏเฉพาะเมื่อมีการกล่าวถึง Microsoft Exchange ActiveSync และที่กล่าวถึงการสนับสนุน Cisco VPN
มีคำถามสองสามข้อในกระดานสนทนาของ Apple แต่ไม่มีคำถามล่าสุดและไม่มีคำตอบที่เป็นประโยชน์ ฉันจะเชื่อมโยงไปยังพวกเขา แต่ฟอรั่มของ Apple "ลงเพื่อการบำรุงรักษา" ในขณะนี้
เป็นวิธีแก้ปัญหาผมอาจจะสามารถตั้งค่าลงล็อค VPN ใช้สนับสนุนการเชื่อมต่อ VPN โดยอัตโนมัติของ iPad ที่จะพูดคุยกับลูกค้า-CERT authed IPSec VPN ที่สามารถเพียงพูดคุยกับ IMAP และ SMTP เซิร์ฟเวอร์ในพอร์ตที่เหมาะสมบวก DNS ไม่มีอะไรอื่น มันจะเป็นการแฮ็คที่น่าสยดสยองที่จะต้องทำลายล้าง
BTW การสนทนาของเซิร์ฟเวอร์ <-> ไคลเอ็นต์คือ:
- C -> ไคลเอนต์ S TLSv1 สวัสดี
- S -> เซิร์ฟเวอร์ C TLSv1 สวัสดี
- S -> C ใบรับรอง TLSv1, คำขอใบรับรอง, เซิร์ฟเวอร์ Hello Done (ส่งใบรับรองเซิร์ฟเวอร์, การลงนามใบรับรองหลัก, DN ของผู้ลงนามรับรองลูกค้าที่ยอมรับซึ่งเกิดขึ้นเหมือนกับรากที่ลงนามในใบรับรองเซิร์ฟเวอร์)
- C -> S TLSv1 Certificate (ชุดใบรับรองว่างเปล่ารวมศูนย์ certs)
- S -> C TLSv1 การจับมือล้มเหลว
พูดอีกอย่างคือเซิร์ฟเวอร์บอกว่า "นี่คือฉันฉันหวังว่าคุณจะให้ใบรับรองที่ลงนามโดยผู้มีอำนาจเพื่อพิสูจน์ว่าคุณคือใคร" และลูกค้าตอบกลับด้วย "อืมเอกสารของฉันอยู่ในซองที่ว่างเปล่านี้ที่นี่ดู Cassowary! "
ลูกค้ามีการติดตั้งใบรับรองหลักและมีการติดตั้งใบรับรองลูกค้าที่มีผู้ลงนาม DN ที่เซิร์ฟเวอร์ร้องขอ