IIS マネージャーを使用して SSL .pfx ファイルをローカル コンピューターの個人用証明書ストアにインポートするときにエラーが発生する

この記事は、Microsoft インターネット インフォメーション サービス (IIS) マネージャーを使用して、Secure Sockets Layer (SSL) 秘密キー証明書 (.pfx) ファイルをローカル コンピューターの個人用証明書ストアにインポートしようとしたときに発生するエラーを解決するのに役立ちます。

元の製品バージョン:インターネット インフォメーション サービス
元の KB 番号: 919074

重要

この資料には、レジストリの編集方法が記載されています。 レジストリを変更する前にレジストリのバックアップを必ず作成してください。 また、問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。 レジストリをバックアップ、復元、変更する方法の詳細については、「 高度なユーザー向けの Windows レジストリ情報」を参照してください。

現象

SSL .pfx ファイルをローカル コンピューターの個人用証明書ストアにインポートしようとするとします。 この状況では、.pfx ファイルをインポートする方法に応じて、次のいずれかの現象が発生する可能性があります。

  • IIS マネージャーを使用して .pfx ファイルをインポートしようとすると、次のエラー メッセージが表示されます。

    pfx ファイルをインポートできません。 このファイルに間違ったパスワードを入力したか、証明書の有効期限が切れています。

  • 証明書 Microsoft 管理コンソール (MMC) スナップインを使用して .pfx ファイルをインポートしようとすると、次のエラー メッセージが表示されます。

    内部エラーが発生しました。 これは、ユーザー プロファイルにアクセスできないか、インポートする秘密キーに、システムにインストールされていない暗号化サービス プロバイダーが必要になる場合があります。

原因

この動作は、次の条件の 1 つ以上が当てはまる場合に発生します。

  • コンピューター上のフォルダーにアクセスするためのアクセス許可が DriveLetter:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys 不十分です。
  • IIS が暗号化サービス プロバイダーにアクセスできないようにするサード パーティのレジストリ サブキーが存在します。
  • ターミナル サービス セッションを介してリモートでコンピューターにログオンしています。 また、ユーザー プロファイルは、ターミナル サービスが有効になっているサーバーにローカルに格納されません。

この動作を解決するには、状況に応じて、次のいずれかの解決策を使用します。

解決策 1: MachineKeys フォルダーの適切なアクセス許可を設定する

コンピューター上のフォルダーにアクセスするためのアクセス許可が DriveLetter:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys 不十分な場合は、フォルダーの適切なアクセス許可を設定します。

MachineKeys フォルダーのアクセス許可を設定する方法の詳細については、「 MachineKeys フォルダーの既定のアクセス許可」を参照してください。

解決策 2: サード パーティのレジストリ サブキーを削除する

警告

レジストリ エディタや他の方法を使用してレジストリを変更する際、適切に変更しないと重大な問題を引き起こす可能性があります。 このような問題が発生した場合は、オペレーティング システムの再インストールが必要になることがあります。 こうした問題の修復について、マイクロソフトはいかなる保証もいたしません。 レジストリの変更はユーザー自身の責任において行ってください。

次のレジストリ サブキーが存在する場合は、削除します。
HKEY_USERS\Default\Software\Microsoft\Cryptography\Providers\Type 001

このレジストリ サブキーを削除すると、IIS は暗号化サービス プロバイダーにアクセスできます。

解決策 3: ターミナル サービス セッションのユーザー プロファイルをローカルに格納する

ターミナル サービス セッションのユーザー プロファイルが、ターミナル サービスが有効になっているサーバーにローカルに保存されていない場合は、ターミナル サービスが有効になっているサーバーにユーザー プロファイルを移動します。 または、ローミング プロファイルを使用します。

状態

この動作は仕様です。