私のルート証明書は、ASN.1 形式の複数のファイルとして保存されています。
同じ形式のチェーン エンド エンティティ証明書があるとします。この証明書のルート証明書を効率的に判断するにはどうすればよいですか?
現在、エンドエンティティ証明書の公開鍵を抽出し、すべてのルート証明書に対してそれを検証し、最初の一致がルート証明書と見なされるブルートフォースアプローチを採用する必要があります。これは正しいアプローチですか??
私のルート証明書は、ASN.1 形式の複数のファイルとして保存されています。
同じ形式のチェーン エンド エンティティ証明書があるとします。この証明書のルート証明書を効率的に判断するにはどうすればよいですか?
現在、エンドエンティティ証明書の公開鍵を抽出し、すべてのルート証明書に対してそれを検証し、最初の一致がルート証明書と見なされるブルートフォースアプローチを採用する必要があります。これは正しいアプローチですか??
証明書の発行者を見つけるには、「発行者DN」を使用して、CAストア内の証明書の「サブジェクトDN」と照合する必要があります。これにより、署名検証の数が大幅に削減されます。
同じ「サブジェクトDN」(異なる公開鍵、有効日など)を持つ異なるCA証明書を持つ可能性があるため、アルゴリズムはそれを処理できるように準備する必要があります。「サブジェクトキー識別子」と「オーソリティキー識別子」も候補者の数を減らすのに役立ちます。
発行機関を見つけることは、証明書を検証するための「正しいアプローチ」のほんの一部にすぎません。http://www.ietf.org/rfc/rfc5280.txt「CertificationPathValidation」のパート6を参照することをお勧めします。いくつかの部分はおそらくやり過ぎです(つまり、ほとんどのことはポリシーに関係しています)。