ユーザーがユーザー名/パスワード認証に加えて、クライアント証明書を使用して登録し、その後認証できるシステムを設計しています。
クライアント証明書は、構成された認証局のリストによって発行された有効な証明書である必要があり、提示されたときにチェック (検証) されます。
登録フェーズでは、クライアント証明書で認証するユーザーを内部の「ユーザー」にマップできるように、クライアント証明書の一部をユーザー リポジトリ (DB、LDAP など) に保存する必要があります。
かなり明白な選択肢の 1 つは、証明書のフィンガープリントを使用することです。ただし、衝突が発生する可能性があるため (発生する可能性は低くても)、フィンガープリント自体では十分ではないため、証明書から追加情報を保存する必要があります。この SO の質問は、この点でも有益です。
RFC 2459は、証明書のシリアル番号が特定の CA 内で一意でなければならないことを定義しています (4.1.2.2)。
これらすべてを組み合わせて、登録ユーザーごとに証明書のシリアル番号と証明書の発行者を保存することを考えています。クライアント証明書が検証されて有効であることを考えると、これは各クライアント証明書を一意に識別する必要があります。そうすれば、クライアント証明書が更新された場合でも、それは引き続き有効です (シリアル番号は同じままで、発行者も同じです)。
私は何か見落としてますか?