【解決方法】ユーザー証明書の登録に失敗する 0x80090024 (NTE_TEMPORARY_PROFILE)

事象

Windows OS 端末に、pfx 形式のエクスポート ファイルからユーザー証明書を登録しようとした時に、以下のエラーメッセージが表示されて証明書の登録に失敗することがあります。

証明書のインポート ウィザードの場合

内部エラーが発生しました。ユーザー プロファイルにアクセスできないか、インポートしている秘密キーはシステムにインストールされていない暗号化サービス プロバイダーが必要である可能性があります。
 
コマンド プロンプトの場合
C:\>certutil -user -p p@$$w0rd -importPFX usercert.pfx
CertUtil: -importPFX コマンド エラーです: 0x80090024 (-2146893788 NTE_TEMPORARY_PROFILE)
CertUtil: このユーザーのプロファイルは一時的なものです。
 
 

原因

ユーザー証明書を登録する対象のユーザーが、「固定プロファイル」もしくは「一時プロファイル」でログオンしていることが原因です。

ユーザー証明書の秘密鍵のデータは、DPAPI という仕組みを利用して保護されています。
DPAPI にて秘密鍵を保護する際に、秘密鍵やデータの保護に使用するマスターキーのデータはプロファイル内に保存しますが、プロファイルの種類が「固定プロファイル」や「一時プロファイル」の場合には、秘密鍵を保存できない実装になっております。

固定プロファイルや一時プロファイルは、ユーザーがログオフしたタイミングでプロファイルのデータが破棄されるプロファイルです。そのため、OS での制約として、秘密鍵を保存できないように制御しています。

ユーザー証明書をインストールする場合は、「ローカル ユーザー プロファイル」か「移動ユーザー プロファイル」を利用する構成に変更する必要があります。

 

ユーザー プロファイルの確認方法

ユーザー証明書が登録できないログオン ユーザーの「ユーザー プロファイルの種類」を確認する方法は以下の通りです。

1) [ファイル名を指定して実行] を開き、sysdm.cpl と入力して [OK] をクリックします。

2) システムのプロパティ画面にて、[詳細設定] タブの [ユーザー プロファイル] の項目にある [設定] をクリックします。

3) [ユーザー プロファイル] にて、[このコンピューターに格納されているプロファイル] の項目を確認します。

※ [状態] が “固定” もしくは “一時的” となっている場合、ユーザー証明書は登録できません。

 

 

解決策

ログオン ユーザーのユーザー プロファイルの状態が “ローカル” となるように構成します。
ユーザー プロファイルの確認方法で、ユーザー プロファイルの状態が固定ユーザー プロファイル、もしくは一時プロファイルである場合、以下の手順で解決を試みます。

固定ユーザープロファイルの場合

ユーザー プロファイルの [状態] が “固定” の場合は、固定ユーザー プロファイルを利用しています。
固定ユーザー プロファイルを利用している場合、ユーザー証明書は登録できないので、移動ユーザープロファイルもしくはローカル プロファイルを構成する方法に変更します。

固定ユーザー プロファイルの構成は、(1) ユーザーの [プロファイル] 設定、(2)グループ ポリシーのいずれかの設定となりますので、固定ゆーざー プロファイルの設定を変更します。

(1) ユーザーの [プロファイル] 設定の確認方法

対象のユーザーのプロパティにて、ユーザー プロファイルの UNC パスを「固定プロファイル」に変更します。

1) 任意のドメイン コントローラーに管理者権限をもつユーザーでログオンします。
2) [Windows 管理ツール] より [Active Directory ユーザーとコンピューター] を開きます。
3) [Active Directory ユーザーとコンピューター] より、設定対象となるユーザー アカウントをダブルクリックしてプロパティ画面を開きます。
4) [プロファイル] タブを選択し、[プロファイル パス] の設定を変更します。

※ [プロファイル パス] の設定を空白にすると、ローカル プロファイルを利用する構成に変更されます。
  [プロファイル パス] にファイル共有を指定すると、移動ユーザー プロファイルを利用する構成に変更されます。

 

(2) グループ ポリシーの設定の確認方法

対象のコンピューター端末に適用される GPO の設定にて、以下のポリシーが設定されていないか確認します。

パス:[コンピューターの構成] – [管理用テンプレート] – [システム] – [ユーザー プロファイル]
ポリシー:[このコンピュータにログオンしているすべてのユーザーの移動プロファイル パスを設定する]
設定:有効
オプション:[このコンピューターにログオンしているユーザーは、この移動プロファイル パスを使用]
上記のポリシーのオプションの設定を変更します。
※ポリシーの設定値を未構成、無効にすると、ローカル プロファイルを利用する構成に変更されます。
    オプションのプロファイル パスにファイル共有を指定すると、移動ユーザープロファイル プロファイルを利用する構成に変更されます。
 

一時プロファイルの場合

ユーザー プロファイルの [状態] が “一時的” の場合は、一時プロファイルを利用しています。

一時プロファイルとは、ログオン中の一時的なプロファイルを読み込んでいる状態のことです。
ユーザーのログオン時のログオン処理において、ユーザー プロファイルの読み込み処理の際に ntuser.dat が正常にロードできなかった場合、一時プロファイルを利用する動作になります。

一時プロファイルで読み込まれた場合、ログオン時に以下の通知が表示されます。

一時プロファイルでサインインしています。

一時プロファイルでログオンする一般的な原因として、以下のような要因が考えられます。

  • 移動ユーザー プロファイルの保存先のファイル共有にアクセスできない
  • セキュリティ対策ソフト等がローカル ユーザー プロファイルのファイル ハンドルをつかんでおり、共有違反で正常に読み込めない

 

ネットワークに問題がないかの確認や、セキュリティ対策ソフトのスキャン除外の設定にユーザー プロファイルを設定する等の構成を見直した後に再ログオンをしてみてください。