この記事では、サーバー上の期限切れの証明書を置き換える新しい証明書を取得した後、クライアントがサーバーで認証できない問題の解決策を示します。
元の KB 番号: 822406
現象
期限切れの証明書を、Microsoft インターネット認証サービス (IAS) またはルーティングとリモート アクセスを実行しているサーバー上の新しい証明書に置き換えた後、サーバーの証明書を認証するように構成された拡張認証プロトコル トランスポート層セキュリティ (EAP-TLS) を持つクライアントは、サーバーで認証できなくなります。 クライアント コンピューターでシステム ログイン イベント ビューアーを表示すると、次のイベントが表示されます。
IAS またはルーティングとリモート アクセスを実行しているサーバーで詳細ログを有効にした場合 (たとえば、 netsh ras set tracing * enable
コマンドを実行するなど)、クライアントが認証を試みたときに生成されるRastls.log ファイルに、次のような情報が表示されます。
Note
認証に Radius サーバーとして IAS を使用している場合は、IAS サーバーでこの動作が表示されます。 ルーティングとリモート アクセスを使用していて、ルーティングとリモート アクセスが Windows 認証 (Radius 認証ではなく) 用に構成されている場合は、ルーティングとリモート アクセス サーバーでこの動作が表示されます。
[1072] 15:47:57:280: CRYPT_E_NO_REVOCATION_CHECKは無視されません
[1072] 15:47:57:280: CRYPT_E_REVOCATION_OFFLINEは無視されません
[1072] 15:47:57:280: ルート証明書の失効は確認されません
[1072] 15:47:57:280: 証明書の失効が確認されます
[1072] 15:47:57:280:
[1072] 15:47:57:280: EapTlsMakeMessage(Example\client)
[1072] 15:47:57:280: >> 受信応答 (コード: 2) パケット: ID: 11、長さ: 25、種類: 0、TLS BLOB の長さ: 0。 フラグ:
[1072] 15:47:57:280: EapTlsSMakeMessage
[1072] 15:47:57:280: EapTlsReset
[1072] 15:47:57:280: 状態が初期に変更される
[1072] 15:47:57:280: GetCredentials
[1072] 15:47:57:280: 証明書の名前は次のとおりです:server.example.com
[1072] 15:47:57:312: BuildPacket
[1072] 15:47:57:312: << 送信要求 (コード: 1) パケット: ID: 12, 長さ: 6, 型: 13, TLS BLOB の長さ: 0. フラグ: S
[1072] 15:47:57:312: SentStart への状態変更
[1072] 15:47:57:312:
[1072] 15:47:57:312: EapTlsEnd(Example\client)
[1072] 15:47:57:312:
[1072] 15:47:57:312: EapTlsEnd(Example\client)
[1072] 15:47:57:452:
[1072] 15:47:57:452: EapTlsMakeMessage(Example\client)
[1072] 15:47:57:452: >> 受信応答 (コード: 2) パケット: ID: 12、長さ: 80、種類: 13、TLS BLOB の長さ: 70。 フラグ: L
[1072] 15:47:57:452: EapTlsSMakeMessage
[1072] 15:47:57:452: MakeReplyMessage
[1072] 15:47:57:452: 入力 TLS BLOB バッファーの再割り当て
[1072] 15:47:57:452: SecurityContextFunction
[1072] 15:47:57:671: SentHello への状態変更
[1072] 15:47:57:671: BuildPacket
[1072] 15:47:57:671: << 送信要求 (コード: 1) パケット: ID: 13、 長さ: 1498、種類: 13、TLS BLOB の長さ: 3874。 フラグ: LM
[1072] 15:47:57:702:
[1072] 15:47:57:702: EapTlsMakeMessage(Example\client)
[1072] 15:47:57:702: >> 受信応答 (コード: 2) パケット: ID: 13、長さ: 6、種類: 13、TLS BLOB の長さ: 0。 フラグ:
[1072] 15:47:57:702: EapTlsSMakeMessage
[1072] 15:47:57:702: BuildPacket
[1072] 15:47:57:702: << 送信要求 (コード: 1) パケット: ID: 14, 長さ: 1498, 型: 13, TLS BLOB の長さ: 0. フラグ: M
[1072] 15:47:57:718:
[1072] 15:47:57:718: EapTlsMakeMessage(Example\client)
[1072] 15:47:57:718: >> 受信応答 (コード: 2) パケット: ID: 14, 長さ: 6, 型: 13, TLS BLOB の長さ: 0. フラグ:
[1072] 15:47:57:718: EapTlsSMakeMessage
[1072] 15:47:57:718: BuildPacket
[1072] 15:47:57:718: << 送信要求 (コード: 1) パケット: ID: 15, 長さ: 900, 型: 13, TLS BLOB の長さ: 0. フラグ:
[1072] 15:48:12:905:
[1072] 15:48:12:905: EapTlsMakeMessage(Example\client)
[1072] 15:48:12:905: >> 受信応答 (コード: 2) パケット: ID: 15、長さ: 6、種類: 13、TLS BLOB の長さ: 0。 フラグ:
[1072] 15:48:12:905: EapTlsSMakeMessage
[1072] 15:48:12:905: MakeReplyMessage
[1072] 15:48:12:905: SecurityContextFunction
[1072] 15:48:12:905: SentFinished への状態変更。 エラー: 0x80090318
[1072] 15:48:12:905: ネゴシエーションに失敗しました
[1072] 15:48:12:905: BuildPacket
[1072] 15:48:12:905: << 送信エラー (コード: 4) パケット: ID: 15, 長さ: 4, 型: 0, TLS BLOB le
原因
この問題は、次のすべての条件に該当する場合に発生する可能性があります。
- IAS またはルーティングおよびリモート アクセス サーバーはドメイン メンバーですが、証明書要求の自動機能 (自動登録) はドメインで構成されていません。 または、IAS またはルーティングおよびリモート アクセス サーバーがドメイン メンバーではありません。
- IAS またはルーティングおよびリモート アクセス サーバーの新しい証明書を手動で要求して受信します。
- 期限切れの証明書は、IAS またはルーティングおよびリモート アクセス サーバーから削除しないでください。 期限切れの証明書が IAS またはルーティングおよびリモート アクセス サーバーに存在し、新しい有効な証明書と共に存在する場合、クライアント認証は成功しません。 クライアント コンピューターのイベント ログに表示される "エラー 0x80090328" の結果は、"期限切れの証明書" に対応します。
回避策
この問題を回避するには、期限切れ (アーカイブ済み) の証明書を削除します。 これを行うには、次の手順に従います。
- IAS サーバー上の証明書ストアを管理する Microsoft 管理コンソール (MMC) スナップインを開きます。 証明書ストアを表示する MMC スナップインがまだない場合は、作成します。 そのためには次を行います。
Start を選択し、Run を選択し、Open ボックスに mmc と入力して、OK を選択します。
Console メニュー (Windows Server 2003 の [File] メニュー) で、[スナップインの追加と削除を選択し、追加を選択します。
Available スタンドアロン スナップインの一覧で、Certificatesを選択し、追加を選択し、Computer アカウントを選択次へを選択し、Finish を選択します。
Note
ユーザー アカウントとサービス アカウントの証明書スナップインをこの MMC スナップインに追加することもできます。
[閉じる]、[OK] の順に選択します。
- [ Console Root で、 Certificates (ローカル コンピューター)を選択します。
- View メニューの Options を選択します。
- [アーカイブされた証明書] チェック ボックスをオンにし、[
OK を選択します。 - [Personal展開し、Certificates を選択します。
- 期限切れの (アーカイブされた) デジタル証明書を右クリックし、 [削除] を選択し、 Yes を選択して、期限切れの証明書の削除を確認します。
- MMC スナップインを終了します。 この手順を完了するために、コンピューターまたはサービスを再起動する必要はありません。
詳細
Microsoft では、組織内のデジタル証明書を更新するように証明書の自動要求を構成することをお勧めします。 詳細については、「Windows XP Certificate 自動登録」を参照してください。