OS X Server:アクセス制御が原因で証明書識別情報をサーバのサービスで使用できない場合がある

証明書識別情報を「システム」キーチェーンにインストールすると、Server App または「サーバ管理」にその証明書が表示されますが、選択された証明書がサーバで使用されず、選択された証明書を使う接続が確立されない場合があります。

具体的な現象

OS X Server

Server App の「証明書」パネルから証明書を選択すると、ドロップダウンメニューを以前に設定した証明書または「カスタム」に切り替わることがあります。この証明書を使って接続しようとしても、接続を確立できません。

Lion Server

Server App の「設定」パネルで証明書を設定しても、その証明書ではなく「カスタム」設定が表示されることがあります。「編集」キーをクリックして SSL 証明書のカスタム設定を表示させると、Web を除くすべてのサービスで新しい証明書を使うように設定されている場合があります。その証明書を Web で使うように設定しようとすると、一時的に変更されますが、その後予期せず「なし」に戻ってしまいます。この証明書を使って接続しようとしても、接続を確立できません。

Mac OS X Server v10.6

「サーバ管理」の「証明書」パネルから、Server で使える証明書のリストを確認できます。ここには、新しく読み込まれた証明書も含まれます。サーバがこの証明書を使うように設定すると、設定が維持されているように見えることがありますが、この証明書を使って接続しようとしても接続を確立できません。

この問題の解決策

「システム」キーチェーンに読み込まれた証明書には、サーバが識別情報の秘密鍵コンポーネントにアクセスすることを妨げるアクセス制御が設定されている場合があります。この制限がかかっていると、秘密鍵を「/etc/certificates」に書き出すという必要な手順を踏むことができません。

この制限を外して、秘密鍵を Server サービスで機能するように書き出すには、キーチェーンアクセスを使います。

  1. 「/アプリケーション/ユーティリティ」フォルダからキーチェーンアクセスを開きます。
  2. 「キーチェーン」パネルで「システム」キーチェーンを選択します。
  3. 左下の「分類」パネルで「証明書」を選択します。
  4. 読み込まれた証明書の隣にある矢印をクリックします。
  5. 秘密鍵をダブルクリックします。
  6. 「アクセス制御」タブに切り替えます。
  7. 「この項目の使用をすべてのアプリケーションに許可」オプションを選択します。
  8. 「変更内容を保存」をクリックし、認証を求められたら、ローカルの管理者として認証します。
  9. コンピュータを再起動します。

「/etc/certificates」ディレクトリを見ると、Server サービスに使えるインストール済み証明書のリストを簡単に確認できます。証明書の命名方法は、証明書の共通名を使い、その後にその証明書の SHA1 ハッシュを付けることです。有効な証明書識別情報には、それぞれ、証明書のトラストチェーン (chain.pem)、証明書 (cert.pem)、鍵 (key/pem)、秘密鍵を含む連結証明書 (concat.epm) の 4 つのファイルが必要です。この 4 つのコンポーネントのいずれかが欠けていると、該当する証明書をサービスで使うことはできません。

公開日: