回答:
Safariのクライアント証明書および関連する設定は、一種の証明書とともにキーチェーンマネージャーに保存されます。
Webサイトで使用する証明書を選択すると、一種のID設定で別のエントリがキーチェーンマネージャーに保存されます。残念ながら、デフォルトでは、それはあなたがいた正確なページに対してのみ保存されます。名前と場所の両方がページのURLに設定されます。
これを修正するには、ID設定エントリの1つを編集し、whereセクションをベースURLに変更しますhttps://somesslsite.com/
(末尾のスラッシュが重要です!)。また、混乱を防ぐために同じ名前に名前を更新します。その後、そのサイトの他のID設定エントリをすべて削除できます。
有効期限が切れた証明書があり、新しい証明書を追加する必要がある場合は、古い証明書エントリと関連するすべてのID設定エントリを削除することをお勧めします。
証明書とIDの設定エントリを見つけるには、キーチェーンマネージャーを開き、[ すべてのアイテム]が選択されていることを確認し、必要に応じて部分的なURLや証明書名を検索します。おそらく多くはないので、それでうまくいかない場合は、リストを種類別に並べ替えるだけで簡単に見つけることができます。
注:私はそれを考え出したが、自分自身や他の人のために知識を維持したかったので、私は自分でこれに答えています。
OS Xのより新しいバージョンでは、部分パスとワイルドカードがサポートされるようになりました。したがって、キーチェーンマネージャーを使用して、Webサイトやドメイン全体のID設定を作成できます。
部分パスの例(末尾のスラッシュが必要なことに注意してください!):
https://server.mydomain.com/
ワイルドカードの例:
*.mydomain.com
詳細はこちら(「man security」ページから):
10.5.4より前では、SSL / TLSクライアント認証のID設定は、URLごとにのみ設定できました。設定を有効にするには、アクセスするURLがサービス名と正確に一致する必要がありました。
10.5.4では、部分パスURLを含むサービス名を使用して同じサーバー上のより具体的なパスを照合することにより、サーバーごとにID設定を指定できるようになりました。たとえば、「https://www.apache-ssl.org/」のID設定が存在する場合、「https://www.apache-ssl.org/cgi/cert-export」に対して有効になります。等々。部分パスURLは末尾のスラッシュ文字で終わる必要があることに注意してください。
10.6以降、ワイルドカード文字
*
をサービス名の左端のコンポーネントとして使用することにより、ドメインごとにID設定を指定できます。SSLワイルドカードとは異なり、ID設定ワイルドカードは複数のサブドメインと一致できます。たとえば、名前のID設定は、または*.army.mil
に一致します。同様に、の設定はとの両方に一致します。server1.subdomain1.army.mil
server2.subdomain2.army.mil
*.mil
server.army.mil
server.navy.mil
私はこれに苦労してきましたが、上記の答えは何が起こっているのかを実感させてくれました。
Webサイトの証明書があり、有効期限が切れている場合は、古い証明書を削除する必要があります。次に、そのWebサイトのID設定項目も削除します。これらの古いアイテムは、証明書と同様に期限切れです。それらを削除すると、新しいID設定が保存され、正しく使用されます。
そう:
その後、Webサイトを参照し、リストから新しい証明書を選択すると、その特定のWebアドレスについてこれが記憶されます。現在、Safari 5.1.3を使用しており、このバージョンでは設定にワイルドカードを使用しません。Webアドレスの変更ごとに設定を追加する必要があります。完全な答えを見つけてください。