4

現在、PDF 署名オプションを備えたシステムを使用しています。

ここで、補完的な Android アプリケーションを作成するときに、ちょっとした難問にぶつかりました。証明書の有効性を確認するにはどうすればよいですか?

問題は、署名時に証明書が有効であったかどうかに興味があることです。アドビがこの種の機能を持っていることはわかりましたが、そのような機能を自分で実装する方法を知りたいです。

OCSP に対して証明書のステータスを正常に確認しましたが、証明書のステータス、証明書が取り消されているかどうか、および日付 (これは不正確であり、まだ困惑しています) が表示されるだけです。CRL も調べましたが、証明書ごとに 1 つのレコードしかないようです。つまり、特定の時点で証明書が有効であったかどうかはわかりません。

例:

Certificate 01 4D 44 5B - issued on 20.08.2012 - suspended on 21.08.2012 - reactivated on 22.08.2012

PDF document1 - signed on 20.08.2012

PDF document2 - signed on 21.08.2012

ここで、Adobe Reader でドキュメントの有効性を確認すると、PDF1 は有効と表示され、PDF2 は無効と表示されます

アドビはどのようにして同じ情報を知り、どうすれば同じ情報を見つけることができますか? たぶん、これを見つけるために私が調べることができるソースのOSプログラムがありますか?

4

1 に答える 1

2

これは通常、デジタル署名にタイムスタンプを埋め込むことによって行われます。通常、デジタル署名自体は、Microsoft の Authenticodeで使用されるような、別の信頼できる CA によって署名されます。このタイムスタンプは、署名時に証明書が有効であったかどうかを判断するために、証明書の有効期間と比較されます。

また、コード署名のカウンターサインはどのように機能しますか?も参照してください。または、これに関する詳細な説明については、 signtool.exe /t オプションを使用してください。

于 2012-09-18T12:09:43.050 に答える