5

Java 1.5 では、署名のタイムスタンプをサポートする拡張機能が追加されました。私が知る限り、証明書が有効である間にファイルが署名されている限り、コード署名証明書の有効期限が切れたからといって、署名されたjarファイルが無効になるべきではないという考えです。理論的には、これは証明書の有効期限が切れるたびにアプリケーションに再署名して再デプロイする必要がないことを意味します。残念ながら、次の 2 つのフォーラム スレッドに基づくと、実装に問題があるようです。

http://forums.sun.com/thread.jspa?threadID=744677
http://forums.sun.com/thread.jspa?threadID=5309004

私はこれをテストしようとしていますが、タイムスタンプ証明書をクライアントにインポートすることなく(目的全体を無効にする)、誰かがこれを成功させたのではないかと思っていました。

4

2 に答える 2

4

Thawte TSA ルート証明書は、6u10 および 5.0u18 で Sun の JRE cacerts ファイルに追加されました。

于 2010-02-03T14:39:07.400 に答える
4

残念ながら、この機能は現時点ではまったく役に立たないようです。jar ファイルに署名するときにタイムスタンプを追加するのは簡単です。このパラメーターをjarsignerコマンドに追加するだけです。

-tsa https://timestamp.geotrust.com/tsa

これは、Thawte のタイムスタンプ サーバーへの URL です。残念ながら、Thawte タイムスタンプ CA 証明書は Java ランタイムの信頼できる CA 証明書のリストに含まれていないため、事実上無意味です。つまり、コード署名証明書の有効期限が切れた後にアプレットをロードすると、「信頼できる」警告ダイアログではなく「信頼できない」警告ダイアログが表示されます。

こちらに掲載されているような「回避策」がありますが、アプレット自体に Thawte タイムスタンプ CA 証明書を埋め込み、keytoolクライアント上で実行して証明書をインポートすることで機能します。ただし、ユーザーはこのコードを実行する前に署名済みコード ダイアログを既に表示しているため、これがどのように機能するかはわかりません。

解決策を探し続けますが、希望はありません。使用可能なタイムスタンプ CA 証明書がこれまで Java ランタイムに含まれていなかった理由は想像できません。

于 2009-01-14T16:06:53.207 に答える