Bagaimana cara membuat Safari secara otomatis menggunakan sertifikat klien tertentu untuk seluruh situs?

27

Menggunakan sertifikat klien dengan Safari menghadirkan sejumlah masalah:

  • Safari meminta untuk memilih sertifikat klien pada setiap halaman situs (mengganggu)
  • Safari bahkan mungkin meminta kembali Anda untuk memilih sertifikat pada halaman yang sudah Anda kunjungi, terutama jika Anda harus memperbarui sertifikat klien Anda

Bagaimana saya bisa memperbaiki masalah ini?

apinstein
sumber

Jawaban:

29

Safari sertifikat klien dan preferensi yang terkait disimpan dalam Keychain Manajer dengan jenis dari sertifikat .

Bila Anda memilih sertifikat untuk digunakan dengan situs web, ia menyimpan entri lain dalam Keychain Manajer dengan jenis dari preferensi identitas . Sayangnya, secara default ia menyimpannya hanya untuk halaman persis Anda berada. Baik nama dan lokasi diatur ke URL halaman.

Untuk memperbaikinya, Anda bisa mengedit salah satu entri preferensi identitas dan mengubah bagian di mana ke URL dasar, seperti https://somesslsite.com/(garis miring penting!). Saya juga memperbarui nama ke hal yang sama untuk mencegah kebingungan. Anda kemudian dapat menghapus semua entri preferensi identitas lain untuk situs itu.

Jika Anda memiliki sertifikat yang kedaluwarsa dan Anda harus menambahkan yang baru, saya sarankan Anda menghapus entri sertifikat lama dan semua entri preferensi identitas terkait .

Untuk menemukan entri preferensi sertifikat dan identitas , buka Manajer Keychain, pastikan Semua Item dipilih, dan cari sebagian URL dan / atau nama sertifikat yang sesuai. Anda mungkin tidak memiliki banyak, jadi jika itu tidak berhasil, hanya mengurutkan daftar berdasarkan jenis dan Anda dapat menemukannya dengan mudah.

CATATAN: Saya jawab sendiri karena saya sudah mengetahuinya tetapi ingin mempertahankan pengetahuan untuk diri sendiri dan orang lain.

apinstein
sumber
2
Sayangnya, Safari terus meminta setiap sub URL ...: - /
Tafkadasoh
komentar yang dihapus. Jawaban DanJs sudah menjelaskan itu.
Calon
1
Bukan berarti Anda harus memperbarui properti lokasi . Nama tidak cukup.
andy
19

Jalur parsial dan wildcard sekarang didukung di versi OS X yang lebih baru. Jadi Anda dapat menggunakan Keychain Manager untuk membuat preferensi identitas untuk seluruh situs web dan / atau domain.

Contoh jalur sebagian (perhatikan bahwa garis miring diperlukan!):

https://server.mydomain.com/

Contoh wildcard:

*.mydomain.com

Detail lengkap di sini (dari halaman 'man security'):

Sebelum 10.5.4, preferensi identitas untuk otentikasi klien SSL / TLS hanya dapat ditetapkan berdasarkan per-URL. URL yang dikunjungi harus sesuai dengan nama layanan persis agar preferensi berlaku.

Dalam 10.5.4, menjadi mungkin untuk menentukan preferensi identitas berdasarkan per server, dengan menggunakan nama layanan dengan URL jalur parsial untuk mencocokkan jalur yang lebih spesifik pada server yang sama. Misalnya, jika preferensi identitas untuk " https://www.apache-ssl.org/ " ada, itu akan berlaku untuk " https://www.apache-ssl.org/cgi/cert-export ", dan seterusnya. Perhatikan bahwa URL jalur parsial harus diakhiri dengan karakter garis miring.

Dimulai dengan 10.6, dimungkinkan untuk menentukan preferensi identitas berdasarkan per-domain, dengan menggunakan karakter wildcard *sebagai komponen paling kiri dari nama layanan. Tidak seperti wildcard SSL, wildcard preferensi identitas dapat cocok dengan lebih dari satu subdomain. Misalnya, preferensi identitas untuk nama *.army.milakan cocok server1.subdomain1.army.milatau server2.subdomain2.army.mil. Demikian juga, preferensi untuk *.milakan cocok dengan keduanya server.army.mildan server.navy.mil.

DanJ
sumber
Bekerja untuk saya (menjalankan Safari 7.0.1 pada Mac OS X 10.9.1)
Tafkadasoh
3

Saya sendiri sudah berjuang dengan ini dan jawaban di atas membuat saya menyadari apa yang sedang terjadi.

Jika Anda memiliki sertifikat untuk situs web dan sudah kedaluwarsa, yang harus Anda lakukan adalah menghapus sertifikat lama. Kemudian juga hapus item jenis preferensi identitas untuk situs web itu. Barang-barang lama ini sudah habis masa berlakunya sama seperti sertifikatnya. Setelah Anda menghapusnya, preferensi identitas baru apa pun akan disimpan dan digunakan dengan benar.

Begitu:

  1. Hapus sertifikat lama
  2. Hapus item preferensi identitas sertifikat lama
  3. Tambahkan sertifikat baru

Kemudian Anda dapat menelusuri ke situs web, pilih sertifikat baru dari daftar, ini akan diingat untuk alamat web tertentu. Saat ini kami berada di Safari 5.1.3 dan versi ini tidak akan menggunakan wildcard untuk preferensi, Anda harus menambahkan preferensi untuk setiap perubahan dalam alamat web ... Semoga ini membantu seseorang, cukup taruh di sana karena saya tidak temukan jawaban yang lengkap.

Chris
sumber
silakan merujuk ke @apinstein jawaban untuk cara yang benar untuk melakukannya
dwery