次の方法で共有


外部リストをオフラインにするとき "発行元を確認できません" 警告を表示させないようにする

最終更新日: 2010年4月29日

適用対象: SharePoint Server 2010

外部リストを Microsoft SharePoint Workspace 2010 あるいは Microsoft Outlook 2010 でオフラインにしたとき、発行元が確認できないという警告が既定で表示されます。図 1 は、この警告を示しています。

図 1. 発行元が確認されていないという通知

発行元が確認されていないという通知

外部リストを適切にオフラインにするには、たとえパッケージの発行元が確認できない場合でも、そのユーザーがパッケージを信頼することを示すために [インストール] をクリックする必要があります。外部リストがオフラインにされるときにこの警告が表示される理由を理解するためには、外部リストをオフラインで使用可能にする過程を理解する必要があります。

外部リストをオフラインにするとき、SharePoint はクライアント側ソリューションのための Visual Studio 2010 の Office 開発ツール ClickOnce パッケージを生成します。すべての Visual Studio 2010 の Office 開発ツール パッケージは、だれがパッケージを発行したかを示す Authenticode 認定によって署名される必要があります。ユーザーは Visual Studio 2010 の Office 開発ツール インストーラーを使用して自分のクライアントにパッケージをインストールし、パッケージが信頼できる発行元によって発行されたか確認する過程を経ます。既定では、SharePoint は、パッケージに署名するために使用できる証明書を持っていません。つまり、SharePoint は自己署名入りの証明書を生成して、パッケージに署名します。これは新しい、自己署名入りの証明書なので、クライアントは、この証明書とその発行者のどちらも信頼しておらず、パッケージの発行元を確認することができません。このため、Visual Studio 2010 の Office 開発ツール インストーラーは、発行元が確認できないというメッセージをユーザーに対して表示します。

この警告が表示されないようにするには、Visual Studio 2010 の Office 開発ツール ClickOnce パッケージに署名するための、信頼できる証明機関によって発行された Authenticode 証明書を SharePoint に示す必要があります。このトピックでは、SharePoint に Authenticode 証明書を提供する方法について説明します。このタスクを実行するには、ファームのそれぞれのフロント エンド Web サーバーのための管理権限を必要とします。Visual Studio 2010 の Office 開発ツール ClickOnce パッケージの詳細については、「Publishing Office Solutions」を参照してください。また、「Granting Trust to Office Solutions」も参照してください。ClickOnce アプリケーションに信頼を付与することの詳細については、「Trusted Application Deployment Overview」を参照してください。

以下の手順では、2 つの証明書を生成して、フロントエンド Web サーバー ファームの証明書ストアにそれらをインポートする方法について説明しています。

注意注意

証明書を信頼できない場合は、運用中のコンピューターに証明書をインポートしないでください。

2 つの証明書を生成してフロントエンド Web サーバー ファームの証明書ストアにインポートするには

  1. VeriSign などの信頼できる証明機関によって発行された Authenticode 証明書を取得します。署名のための証明書を取得する方法の詳細については、「ClickOnce and Authenticode」を参照してください。

    証明書を署名のために使用するには、秘密暗号キーが含まれている必要があります。この例では、証明書作成ツール (Makecert.exe) を使用して、2 つの証明書、ContosoRoot.cer と ContosoBCS.pfx が生成され、保存されます。ContosoBCS.pfx に含まれる証明書は秘密キーを持っており、Visual Studio 2010 の Office 開発ツール ClickOnce パッケージに署名するために使用されます。ContosoRoot.cer に含まれる証明書は、証明機関の証明書として機能し、ContosoBCS.pfx に含まれる証明書に署名するために使用されます。ContosoRoot.cer の証明書は秘密キーを持っていないことに注意してください。

  2. ファームのフロントエンド Web サーバーのそれぞれの Local Computer で、BusinessConnectivityServices という名前の証明書ストアを作成します。

    SharePoint は、Local ComputerBusinessConnectivityServices 証明書ストアで、Visual Studio 2010 の Office 開発ツール ClickOnce パッケージに署名する証明書を探します。HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates の下に BusinessConnectivityServices という名前のレジストリ サブキーを追加することによって証明書ストアを作成することができます。別の方法としては、メモ帳などのテキスト エディターに以下のテキストをコピーして貼り付け, .reg ファイルとして保存し、そのファイルをダブルクリックしてレジストリ キーを作成することができます。

    Windows Registry Editor Version 5.00
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\BusinessConnectivityServices]
    
  3. Microsoft 管理コンソール (MMC) を使用して、すべてのフロントエンド Web サーバーに Local Computer のための証明書ストアに Authenticode 証明書 ContosoBCS.pfx をインポートします。

    1. フロントエンド Web サーバーで、[開始] をクリックして、次に [実行] をクリックします。[実行] ダイアログ ボックスで、mmc と入力して、次に Enter を押します。

    2. Microsoft 管理コンソール (MMC) で、MMC への Local Computer のための証明書スナップインを追加します。

      証明書スナップインを追加する方法については、「方法 : MMC スナップインを使用して証明書を参照する」を参照してください。証明書スナップインが、現在のユーザーのためのものではなく、ローカル コンピューターのためのものであることを確認してください。MMC の [コンソール ルート] の下のエントリが [証明書 (ローカル コンピューター)] であるかどうかによってこれを確認できます。証明書スナップインが現在のユーザーのためのものである場合、エントリは [証明書 - 現在のユーザー] となっています。

  4. MMC の、[コンソール ルート\証明書 (ローカル コンピューター)] の下で、以前の手順でレジストリ サブキーを追加することによって作成した BusinessConnectivityServices エントリを探します。このエントリを右クリックして、図 2 に示すように [すべてのタスク] をクリックし、次に [インポート] をクリックします。

    図 2. 証明書のインポート

    証明書のインポート

  5. ContosoBCS.pfx を BusinessConnectivityServices 証明書ストアにインポートするために、証明書インポート ウィザードを完了します。

    署名するための証明書を発行する証明機関が、まだ現在のユーザーのための信頼できるルート証明機関証明書ストアにない場合は、次の手順に進んで、証明機関 (ContosoRoot.cer) のための証明書をインポートします。それ以外の場合は、次の手順を省略して、手順 7. に進んでください。

  6. 外部リストがオフラインにされるクライアント コンピューターで、ContosoRoot.cer などの証明機関のための証明書を、現在のユーザーのための信頼できるルート証明機関証明書ストアにインポートします。

    注意

    証明書には公開キーのみが含まれている必要があります。また、秘密キーを含む、証明機関のための証明書を、クライアント コンピューターにインポートしないでください。PKI インフラストラクチャを持っている組織では、証明機関の証明書が、クライアント コンピューターの信頼できるルート証明機関証明書ストアに既に展開されていることがあります。この場合は、この手順を省略することができます。

    この例では ContosoRoot.cer 証明書を生成するため、クライアントはストアに証明書を持っておらず、証明書をインポートする必要があります。図 3 に示すように、MMC からこの証明書をインポートすることができます。現時点では、MMC が Current User のための証明書スナップインを持っていることに注意してください。

    図 3. 証明書のインポート

    証明書のインポート

    外部リストをオフラインにするとき、以下のどちらかの状態が発生します。

    • 警告はまったく表示されません。Visual Studio 2010 の Office 開発ツール ClickOnce パッケージに署名するために使用した Authenticode 証明書がクライアント コンピューターの現在のユーザーのための信頼できる発行元証明書ストアにインポートされた場合は、パッケージは警告を表示せずにインストールされます。

    • 発行元が確認されたことを示す警告が表示されます。前述の条件があてはまらない場合は、発行元が確認されたことと、発行元の名前を示すメッセージが表示されます。以下はこのメッセージの例です。

      図 4. 発行元が確認されたというメッセージ

      発行元が確認されたというメッセージ

    注意注意

    フロントエンド Web サーバーに Authenticode 証明書をインポートする前に、外部リストがオフラインにされた場合、新しい証明書で署名されたパッケージが生成されるように、サーバーから古いパッケージを削除する必要があることがあります。SharePoint Designer からこの操作をすることができます。たとえば、サイト http://contoso で外部リスト "Product List" のための古いパッケージを削除するには、SharePoint Designer で http://contoso を開き、ナビゲーション ウィンドウの [サイト オブジェクト] で [すべてのファイル] をクリックして、[すべてのファイル] タブを開きます。[すべてのファイル] タブで、[リスト] をクリックして、次に Product List をクリックします。ClientSolution という名前のフォルダーが表示されます。フォルダー名を選択し、次にリボンで [削除] をクリックしてこのフォルダーを削除します。これで、このリストをオフラインにしても、発行元が確認されていないという警告は表示されなくなります。

    以下の場合は、外部リストをオフラインにできないことがあります。

    • フロントエンド Web サーバーのローカル コンピューターのための BusinessConnectivityServices 証明書ストアにインポートされた証明書に、秘密キーがない場合。

    • BusinessConnectivityServices 証明書ストアに複数の証明書がある場合。

    これらの問題を修正するには、証明書ストアをクリーン アップして、次に秘密キーを含む証明書をインポートする必要があります。

トラブルシューティングのヒント

証明書がインポートされた後で "キーセットがないためにソリューション外部リスト名の発行に失敗しました" というエラーが表示された場合、証明書ストア LOCAL_MACHINE\BusinessConnectivityServices にインポートした証明書に、秘密キーが含まれていることを確認してください。

証明書に秘密キーがあるのにこのエラーが表示される場合は、SharePoint サイトのホスト Web アプリケーションで使用されているアプリケーション プールのためのセキュリティ アカウントが ContosoBCS.pfx からインポートされた証明書の秘密キーにアクセスできない可能性があります。フロントエンド Web サーバーで以下のコマンドを実行して、秘密キーにアクセスできるユーザーを確認することができます。ContosoBCS が証明書のタイトルです。

winhttpcertcfg.exe -l -c LOCAL_MACHINE\BusinessConnectivityServices –s ContosoBCS

このコマンドは、秘密キーにアクセスできるアカウントおよびグループのリストを表示します。

アプリケーション プールのためのローカル グループ WSS_WPG とセキュリティ アカウントのどちらもこのリストに表示されない場合は、アプリケーション プールのためのセキュリティ アカウントは秘密キーにアクセスできません。この問題を修正するには、以下のコマンドを実行します。

winhttpcertcfg.exe -g -c LOCAL_MACHINE\BusinessConnectivityServices –s ContosoBCS –a <application pool account>

winhttpcertcfg.exe の詳細については、「WinHttpCertCfg.exe, a Certificate Configuration Tool (英語)」を参照してください。