web-dev-qa-db-ja.com

Safariがサイト全体に対して特定のクライアント証明書を自動的に使用するようにするにはどうすればよいですか?

Safariでクライアント証明書を使用すると、いくつかの問題が発生します。

  • Safariがサイトの各ページでクライアント証明書を選択するように要求する(迷惑)
  • Safariは、特にクライアント証明書を更新する必要がある場合は、すでにアクセスしたページで証明書を選択するように要求する場合もあります。

これらの問題を修正するにはどうすればよいですか?

28
apinstein

Safariのクライアント証明書と関連する設定は、kind証明書とともにKeychain Managerに保存されます

Webサイトで使用する証明書を選択すると、kindID設定。残念ながら、デフォルトではそれはあなたがいた正確なページに対してのみそれを保存します。名前と場所の両方がページのURLに設定されます。

これを修正するには、ID設定エントリの1つを編集して、whereセクションをhttps://somesslsite.com/(末尾のスラッシュは重要です!)。 nameも同じように更新して、混乱を防ぎます。次に、そのサイトの他のID設定エントリをすべて削除できます。

有効期限が切れた証明書があり、新しい証明書を追加する必要がある場合は、古いcertificateエントリとすべての証明書を削除することをお勧めします関連ID設定エントリ。

certificateおよびidentity preferenceエントリを見つけるには、Keychain Managerを開いて、 すべてのアイテムが選択され、必要に応じて部分的なURLおよび/または証明書名を検索します。おそらく多くないので、それがうまくいかない場合は、リストをkindで並べ替えれば、簡単に見つけることができます。

注:わかったので自分で回答しますが、自分や他の人のために知識を維持したいと思っていました。

32
apinstein

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.milserver.navy.milの両方に一致します。

21
DanJ

私自身、これに苦労してきました。上記の答えにより、何が起こっているのかがわかりました。

Webサイトの証明書があり、期限が切れている場合は、古い証明書を削除する必要があります。次に、そのWebサイトのID設定タイプの項目も削除します。これらの古いアイテムは、証明書と同じくらい有効期限が切れています。それらを削除すると、新しいID設定が保存され、正しく使用されます。

そう:

  1. 古い証明書を削除
  2. 古い証明書のID設定項目を削除します
  3. 新しい証明書を追加

次に、Webサイトを参照し、リストから新しい証明書を選択します。これは、その特定のWebアドレスに対して記憶されます。現在、Safari 5.1.3を使用しており、このバージョンでは設定にワイルドカードを使用していません。Webアドレスを変更するたびに設定を追加する必要があります...これが誰かに役立つことを願っています。完全な答えを見つけてください。

3
Chris