Safariでクライアント証明書を使用すると、いくつかの問題が発生します。
これらの問題を修正するにはどうすればよいですか?
Safariのクライアント証明書と関連する設定は、kindの証明書とともにKeychain Managerに保存されます。
Webサイトで使用する証明書を選択すると、kindのID設定。残念ながら、デフォルトではそれはあなたがいた正確なページに対してのみそれを保存します。名前と場所の両方がページのURLに設定されます。
これを修正するには、ID設定エントリの1つを編集して、whereセクションをhttps://somesslsite.com/
(末尾のスラッシュは重要です!)。 nameも同じように更新して、混乱を防ぎます。次に、そのサイトの他のID設定エントリをすべて削除できます。
有効期限が切れた証明書があり、新しい証明書を追加する必要がある場合は、古いcertificateエントリとすべての証明書を削除することをお勧めします関連ID設定エントリ。
certificateおよびidentity preferenceエントリを見つけるには、Keychain Managerを開いて、 すべてのアイテムが選択され、必要に応じて部分的なURLおよび/または証明書名を検索します。おそらく多くないので、それがうまくいかない場合は、リストをkindで並べ替えれば、簡単に見つけることができます。
注:わかったので自分で回答しますが、自分や他の人のために知識を維持したいと思っていました。
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設定のワイルドカードは複数のサブドメインに一致できます。たとえば、*.army.mil
という名前のID設定は、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アドレスを変更するたびに設定を追加する必要があります...これが誰かに役立つことを願っています。完全な答えを見つけてください。