2016-10-04 7 views
1

jarsignerがどのように動作するか、META-INFフォルダ内の各ファイルの目的について調べています。私が理解しているように、MANIFEST.MFには、zip/jar内のすべてのファイルのリストとそのダイジェストが含まれています。 * .SFファイルには、マニフェストファイルのダイジェストと、マニフェスト内のそのファイルのセクションのダイジェストと共に、すべてのファイルのリストが含まれています。最後に、* .DSA/RSAファイルに.SFファイルのデジタル署名が含まれています。私の質問は、SFファイルが必要な理由は何ですか?マニフェストファイルに署名して.RSA/DSAファイルに格納するだけの利点は何ですか?jarsignerの* .SFファイルのポイントは何ですか?

ファイル名またはコンテンツまたはファイルの削除を変更すると、マニフェストが変更され、無効な署名が変更されます。

+0

署名にはどのような形式があり、jarファイル内の他のすべてのファイルをどのように検証しますか? *それにはどんな利点がありますか?*実際に解決しようとしている問題は何ですか? –

+0

署名ファイルは、SFファイルのバイナリコンテンツに署名することによって生成されます。 SFファイルがない場合、マニフェストファイルのバイナリコンテンツに署名することによって、シグネチャファイルが生成されます。 実際に解決しようとしている問題は何ですか?使用する前にツールを理解しているだけです –

+0

マニフェストファイルには署名用のフィールドがありません。彼らは1つを追加していたかもしれませんが、そうではありませんでした(通常の理由は古いコードを壊す恐れがあります)。 Javaでの実装に関しては、すでにそれを知っているようです。だから私たちは何を手伝ってくれるのですか? –

答えて

0

jar toolを使用していつでもjar fileにファイルを追加することができます。そのような場合、MANIFEST.MF fileが更新されます。 MANIFEST.MF fileが署名されたものである場合、signatureは無効です。ただし、別の*.SF fileを使用しても、*.SF fileにリストされているファイルは変更されていない限り、署名を検証できます。

関連する問題