5

私が取り組んでいるシステムアーキテクチャでは、2つのSSL / TLS(通常はX.509)証明書を比較する必要があります。つまり、2つの証明書が同じかどうかを確認する必要があります。

有効期限が切れているか自己署名されているかは関係ありません。変更されていないことを確認したいだけです。

そのような操作を実行するための最も正しい方法はどれですか?これらの証明書の2つの署名(2バイト[])を比較するだけで十分でしょうか、それともこの操作は、これまで検討していなかったエクスプロイトを起こしやすいのでしょうか。

4

1 に答える 1

4

コードが、署名が証明書自体に対してもチェックされていることを保証するインスタンスから証明書を直接取得しない限り、2つの署名を比較するだけでは不十分だと思います。したがって、多くの状況下で、私は言うでしょう:いいえ

最も柔軟で正しい方法は、2つの証明書(本文と署名)の整合性を個別にチェックしてから、同一である必要がある証明書のすべての情報を直接比較することだと思います。(あなたが完全なアイデンティティを必要とするかどうかわからないので、私はそれをこのように言います)。

ただし、サーバーが送信する証明書の信頼性を実際に確認することが目標である場合は、コードに証明書全体のコピーを含めることは必ずしも賢明ではありません。この場合、サーバーの証明書を確認してから、アプリに保存されている安全なハッシュに対してサーバーの本体を確認できます。

于 2013-03-15T11:10:30.647 に答える