「getCACerts」と入ったメッセージがログファイルに表示される場合や、OS X Server でサービスに証明書を割り当てることができない場合は、アクセス制御が原因で、識別情報の秘密鍵コンポーネントにサーバがアクセスできなくなっていると考えられます。
アクセス制御を確認する
- サーバでキーチェーンアクセスを開きます。
- 左側のサイドバーの「キーチェーン」で「システム」を選択します。
- 左側のサイドバーの「分類」で「すべての項目」を選択します。「すべての項目」が表示されない場合は、
をクリックします。
- 以下の OPENDIRECTORY 識別プリファレンスオブジェクトを確認します。
ROOT_CA_IDENTITY を確認する
- OPENDIRECTORY_ROOT_CA_IDENTITY 識別プリファレンスをダブルクリックします。
- 「優先する証明書」メニューで、「[組織名] Open Directory 認証局」と設定されているはずです。カスタムの信頼設定
が指定されていることを確認してください。
- この証明書の名前と表示される有効期限を控えておきます。識別プリファレンスのウインドウを閉じます。
- 「分類」の「証明書」をクリックします。
- 名前と有効期限が同じ証明書を探します。この証明書の開閉用三角ボタンをクリックします。証明書の下に秘密鍵が表示されます。
- 秘密鍵をダブルクリックします。
- 「アクセス制御」タブをクリックします。場合によって、管理者の認証情報の入力が必要です。
- 以下のアプリケーションにこのキーへのアクセスが許可されているはずです。
slapconfig
xscertd-helper
xscertadmin
servermgrd
- 上記いずれかの項目がリストに表示されていない場合は、手動で追加します。「+」ボタンをクリックして新しい項目を追加し、「command + shift + G」キーを押します。
- 「フォルダへ移動」ウインドウで、見当たらない項目の具体的なパスを入力します。
- slapconfig の場合は、パス「/usr/sbin/slapconfig」を入力します。
- xscertd-helper の場合は、パス「/usr/libexec/xscertd-helper」を入力します。
- xcertadmin の場合は、パス「/usr/sbin/xscertadmin」を入力します。
- servermgrd の場合は、パス「/アプリケーション/Server.app/Contents/ServerRoot/System/Library/CoreServices/ServerManagerDaemon.bundle/Contents/MacOS/servermgrd」を入力します。
- 見当たらない項目のパスを入力したら、「移動」をクリックします。その項目がハイライトされたら、「追加」をクリックして項目を追加します。
- すべての項目がリストに表示されたら、「変更内容を保存」をクリックします。管理者のパスワードを求められたら入力し、「キーチェーンを変更」をクリックします。
INTERMEDIATE_CA_IDENTITY を確認する
- OPENDIRECTORY_INT_CA_IDENTITY 識別プリファレンスをダブルクリックします。
- 「優先する証明書」メニューで、「IntermediateCA_[DNS サーバ名]_1」と設定されているはずです。有効のマーク
が付いていて、このルート認証局から発行されたものであることを確認してください。
- この証明書の名前と表示される有効期限を控えておきます。識別プリファレンスのウインドウを閉じます。
- 「分類」の「証明書」をクリックします。
- 名前と有効期限が同じ証明書を探します。この証明書の開閉用三角ボタンをクリックします。証明書の下に秘密鍵が表示されます。
- 秘密鍵をダブルクリックします。
- 「アクセス制御」タブをクリックします。場合によって、管理者の認証情報の入力が必要です。
- 以下のアプリケーションにこのキーへのアクセスが許可されているはずです。
slapconfig
xscertd-helper
xscertadmin
servermgrd
- 上記いずれかの項目がリストに表示されていない場合は、手動で追加します。「+」ボタンをクリックして新しい項目を追加し、「command + shift + G」キーを押します。
- 「フォルダへ移動」ウインドウで、見当たらない項目の具体的なパスを入力します。
- slapconfig の場合は、パス「/usr/sbin/slapconfig」を入力します。
- xscertd-helper の場合は、パス「/usr/libexec/xscertd-helper」を入力します。
- xcertadmin の場合は、パス「/usr/sbin/xscertadmin」を入力します。
- servermgrd の場合は、パス「/アプリケーション/Server.app/Contents/ServerRoot/System/Library/CoreServices/ServerManagerDaemon.bundle/Contents/MacOS/servermgrd」を入力します。
- 見当たらない項目のパスを入力したら、「移動」をクリックします。その項目がハイライトされたら、「追加」をクリックして項目を追加します。
- すべての項目がリストに表示されたら、「変更内容を保存」をクリックします。管理者のパスワードを求められたら入力し、「キーチェーンを変更」をクリックします。
OPENDIRECTORY_SSL_IDENTITY を確認する
- OPENDIRECTORY_SSL_IDENTITY 識別プリファレンスをダブルクリックします。
- 「優先する証明書」メニューで、「[dns サーバ名]」と設定されているはずです。有効のマーク
が付いていて、OPENDIRECTORY_SSL_IDENTITY から発行されたものであることを確認してください。
- この証明書の名前と表示される有効期限を控えておきます。識別プリファレンスのウインドウを閉じます。
- 「分類」の「証明書」をクリックします。
- 名前と有効期限が同じ証明書を探します。この証明書の開閉用三角ボタンをクリックします。証明書の下に秘密鍵が表示されます。
- 秘密鍵をダブルクリックします。
- 「アクセス制御」タブをクリックします。セキュリティ通知が表示される場合があります。
- 「この項目の使用をすべてのアプリケーションに許可」が選択されていることを確認します。「変更内容を保存」をクリックします。管理者のパスワードを求められたら入力し、「キーチェーンを変更」をクリックします。
識別プリファレンスの確認が終わったら
3 つすべての識別プリファレンスの確認が済んだら、サーバを再起動して、問題が解決したか確認してください。