クライアント証明書認証が失敗し、ADFSで上記イベントログが確認できた場合の、確認ポイントについてまとめておきます。
筆者はこの問題を何日間も解決できなかった為、振り返りの為にも記載しています。
事の経緯ですが、クライアント証明書認証での認証を実施しているWEBアクセス構成で、認証時に以下エラーが発生しました。クライアント証明書を選択した後、ブラウザ上に表示されたエラーです。
不明なエラーが発生しました 認証の試行に失敗しました。
別のサインイン オプションを選択するか、Web ブラウザーを終了してサインインし直してください。詳細については、管理者にお問い合わせください。

そして、ADFSのTraceログには以下のようなログが記録されていました。
ソース:AD FS Tracing
Sceurity token not valid.
Exception details:
ID4070: X.509 証明書 ‘CN=user001, OU=SALES, DC=jp, DC=co, DC=pxtworld’ チェーンの構築に失敗しました。使用された証明書には、検証できない信頼チェーンが存在します。証明書を交換するか、certificateValidationMode を変更してください。’証明チェーンは正しく処理されましたが、証明機関の証明書の 1 つがポリシー プロバイダーによって信頼されていません。
※ADFSのDebugログについては ADFSサーバでのTracingログ設定 を参照してください。

ADFS上で上記ログが表示された場合、考えられる原因としては大きく、以下3点です。
1.証明書の信頼チェーンが不完全
- 証明書の発行元 (CA) が AD FS サーバーに信頼されていない。
- 中間証明書が適切にインストールされていない。
2.証明書の有効期限切れまたは失効
- 証明書が期限切れになっている。
- 証明書失効リスト (CRL) にアクセスできないため、証明書の状態を確認できない。
3.certificateValidationMode の設定
- AD FS の certificateValidationMode 設定が厳格すぎるため、証明書の検証に失敗している。
上記3点を丁寧に確認していくことが非常に重要です。特に、クライアント証明書を発行した証明機関のルート証明書が、AD FS サーバーと Web Application Proxy (WAP) サーバーの「信頼されたルート証明機関」ストアにインストールされている必要がある、という部分は基本で、最初に確認する部分です。
例えば、自己証明書で検証環境を作成するような場合、自己証明書を発行したサーバ(CAサーバなど)を「信頼されたルート証明機関」として登録しておく必要があります。
しかし、筆者は、上記3点以外の部分で躓いていました。
スタンドアロンCA(Windows ADCS)を構築し、そこでクライアント証明書を発行していましたが、そのCAサーバ上で、以下コマンド発行が必要でした。(※Active Directory の NTAuth 証明書ストアへの登録である為、ドメイン差参加済みサーバで実行すれば共有されるようですが、CAサーバ上で実行するのが良いと思います)
certutil -enterprise -addstore NTAuth [クライアント証明書を発行した CA の証明書 (xxxx.cer) のフルパス]
NTAuth 証明書ストア とは、
Active Directory ドメイン全体で利用される NTAuthCertificates オブジェクト に格納される証明書の一覧です。
このストアに登録された CA のみが、クライアント証明書認証で信頼されることになります。
ADFS でクライアント証明書認証を行う場合、AD はその証明書の発行元 CA を NTAuth ストアで検証します。そのため、AD CS で発行されたクライアント証明書を正しく認証に使うには、発行元 CA の証明書を NTAuth ストアに登録する必要があります。
エンタープライズCA であれば、CA の証明書は通常、NTAuth 証明書ストアに自動で登録されるようです。しかし、スタンドアロンCAの場合、手動登録が必須となるようです。
また、筆者が、更に、躓いたポイントとしては、
certutil -enterprise -addstore NTAuth XXXX.cer
で設定した証明書情報は、AD同期のタイミングで消失することがある、、ということです。
参照先:NTAuth ストアの証明書の登録方法について:注意点
参照先URLに記載されている 方法B の方が、消失する懸念が無い為に良いのかもしれません。(試せていないです)方法Aが手軽である為、この方法を利用する場合、消失にご注意ください。
以上、タイトルのADFSログが出力された場合に確認するべきポイントでした。