ฉันจะทำให้ Safari ใช้ใบรับรองไคลเอ็นต์เฉพาะสำหรับทั้งไซต์โดยอัตโนมัติได้อย่างไร


27

การใช้ใบรับรองไคลเอ็นต์กับ Safari มีปัญหาหลายอย่าง:

  • Safari ขอให้เลือกใบรับรองไคลเอ็นต์ในแต่ละหน้าของเว็บไซต์ (น่ารำคาญ)
  • Safari อาจขอให้คุณเลือกใบรับรองบนหน้าที่คุณเคยเยี่ยมชมอีกครั้งโดยเฉพาะอย่างยิ่งถ้าคุณต้องอัปเดตใบรับรองไคลเอ็นต์ของคุณ

ฉันจะแก้ไขปัญหาเหล่านี้ได้อย่างไร

คำตอบ:


29

ของ Safari ใบรับรองไคลเอ็นต์และการตั้งค่าที่เกี่ยวข้องจะถูกเก็บไว้ในพวงกุญแจจัดการกับชนิดของใบรับรอง

เมื่อคุณเลือกใบรับรองที่จะใช้กับเว็บไซต์ที่จะเก็บรายการอื่นในการจัดการพวงกุญแจกับชนิดของการตั้งค่าตัวตน น่าเสียดายที่โดยค่าเริ่มต้นจะเก็บไว้เฉพาะหน้าเว็บที่คุณเปิดเท่านั้น ทั้งชื่อและสถานที่ตั้งเป็น URL ของหน้า

ในการแก้ไขปัญหานี้คุณเพียงแค่หนึ่งของรายการแก้ไขการตั้งค่าตัวตนและสามารถเปลี่ยนที่ส่วนเพื่อ URL พื้นฐานเช่นhttps://somesslsite.com/(เฉือนท้ายเป็นสิ่งที่สำคัญ!) ฉันยังอัปเดตชื่อเป็นสิ่งเดียวกันเพื่อป้องกันความสับสน จากนั้นคุณสามารถลบรายการการตั้งค่าข้อมูลประจำตัวอื่น ๆทั้งหมดสำหรับไซต์นั้น

หากคุณมีใบรับรองที่หมดอายุและคุณต้องเพิ่มใหม่ฉันขอแนะนำให้คุณลบรายการใบรับรองเก่าและรายการการตั้งค่าข้อมูลประจำตัวที่เกี่ยวข้องทั้งหมด

หากต้องการค้นหารายการการกำหนดค่าตามความชอบใบรับรองและข้อมูลประจำตัวให้เปิด Keychain Manager ตรวจสอบให้แน่ใจว่าเลือกรายการทั้งหมดแล้วและค้นหา URL บางส่วนและ / หรือชื่อใบรับรองตามความเหมาะสม คุณอาจมีไม่มากดังนั้นหากวิธีนี้ใช้ไม่ได้ผลให้เรียงลำดับรายการตามประเภทและคุณควรหาได้ง่าย

หมายเหตุ: ฉันตอบคำถามนี้ด้วยตัวเองตั้งแต่ฉันคิดออก แต่ต้องการยืนยันความรู้สำหรับตัวเองและผู้อื่น


2
น่าเสียดายที่ Safari ขอให้แต่ละ URL ย่อย ... : - /
Tafkadasoh

ลบความคิดเห็นแล้ว DanJs ตอบแล้วอธิบายว่า
Calon

1
ไม่ใช่ว่าคุณจะต้องอัปเดตสถานที่ให้บริการ ชื่อไม่เพียงพอ
andy

19

ตอนนี้พา ธ และไวด์การ์ดบางส่วนได้รับการสนับสนุนในเวอร์ชันล่าสุดของ OS X ดังนั้นคุณสามารถใช้ Keychain Manager เพื่อสร้างการกำหนดลักษณะเฉพาะสำหรับทั้งเว็บไซต์และ / หรือโดเมน

ตัวอย่างเส้นทางบางส่วน (โปรดทราบว่าต้องใช้เครื่องหมายทับต่อท้าย!):

https://server.mydomain.com/

ตัวอย่างสัญลักษณ์:

*.mydomain.com

รายละเอียดทั้งหมดที่นี่ (จากหน้า 'การรักษาความปลอดภัยของมนุษย์'):

ก่อนหน้า 10.5.4 การตั้งค่าข้อมูลประจำตัวสำหรับการตรวจสอบสิทธิ์ไคลเอ็นต์ SSL / TLS สามารถตั้งค่าได้ตาม URL ต่อ URL ที่เข้าชมต้องตรงกับชื่อบริการทุกประการเพื่อให้การตั้งค่ามีผล

ใน 10.5.4 เป็นไปได้ที่จะระบุการกำหนดลักษณะเฉพาะตามแต่ละเซิร์ฟเวอร์โดยใช้ชื่อบริการที่มี URL พา ธ บางส่วนเพื่อจับคู่พา ธ ที่เจาะจงมากขึ้นบนเซิร์ฟเวอร์เดียวกัน ตัวอย่างเช่นหากมีการตั้งค่าตัวตนสำหรับ " https://www.apache-ssl.org/ " จะมีผลสำหรับ " https://www.apache-ssl.org/cgi/cert-export " และอื่น ๆ โปรดทราบว่า URL เส้นทางบางส่วนต้องลงท้ายด้วยอักขระสแลชต่อท้าย

เริ่มต้นด้วย 10.6 เป็นไปได้ที่จะระบุการกำหนดลักษณะเฉพาะตามแต่ละโดเมนโดยใช้อักขระตัวแทน*เป็นส่วนประกอบด้านซ้ายสุดของชื่อบริการ ซึ่งแตกต่างจาก wildcard SSL, wildcard การกำหนดค่าตามความชอบเอกลักษณ์สามารถจับคู่มากกว่าหนึ่งโดเมนย่อย ยกตัวอย่างเช่นการตั้งค่าตัวตนชื่อ*.army.milจะตรงหรือserver1.subdomain1.army.mil server2.subdomain2.army.milในทำนองเดียวกันการตั้งค่าสำหรับ*.milจะตรงกับทั้งสองและserver.army.milserver.navy.mil


ทำงานให้ฉัน (ใช้งาน Safari 7.0.1 บน Mac OS X 10.9.1)
Tafkadasoh

3

ฉันดิ้นรนกับตัวเองและคำตอบข้างต้นทำให้ฉันรู้ว่าเกิดอะไรขึ้น

หากคุณมีใบรับรองสำหรับเว็บไซต์และหมดอายุแล้วสิ่งที่คุณควรทำคือลบใบรับรองเก่าออก จากนั้นยังลบรายการประเภทการกำหนดค่าตัวตนสำหรับเว็บไซต์นั้นด้วย รายการเก่าเหล่านี้หมดอายุแล้วมากเท่ากับใบรับรอง หลังจากที่คุณลบออกการตั้งค่าตัวตนใหม่ใด ๆ จะถูกจัดเก็บและใช้อย่างถูกต้อง

ดังนั้น:

  1. ลบใบรับรองเก่า
  2. ลบรายการการตั้งค่าข้อมูลประจำตัวของใบรับรองเก่า
  3. เพิ่มใบรับรองใหม่

จากนั้นคุณสามารถเรียกดูเว็บไซต์เลือกใบรับรองใหม่จากรายการซึ่งจะถูกจดจำสำหรับที่อยู่เว็บเฉพาะนั้น ขณะนี้เราอยู่ที่ Safari 5.1.3 และรุ่นนี้จะไม่ใช้สัญลักษณ์แทนสำหรับการตั้งค่าคุณจะต้องเพิ่มการตั้งค่าสำหรับการเปลี่ยนแปลงแต่ละครั้งในที่อยู่เว็บ ... หวังว่านี่จะช่วยใครบางคนเพียงแค่วางไว้ที่นั่นเพราะฉันไม่ได้ ค้นหาคำตอบที่สมบูรณ์


โปรดอ้างอิงถึง @apinstein คำตอบสำหรับวิธีการที่ถูกต้องในการทำมัน
dwery
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.