これらの手順の一部をプログラムで複製するために、jar と jarsigner が Java コードを jar してサインアップするときに実行する手順を理解しようとしています。
.SF ファイルに正確に何が入るかを明確に知りたいのですが、それぞれが少し異なることを述べている多くのドキュメントを読んだので、いくつかの例を示します。
ダイジェスト (またはハッシュ) は、JAR 内のすべてのファイルに対して計算され、マニフェスト内に含まれます。
名前: Hello.class SHA1-Digest: (ファイルの 160 ビットのハッシュ値)
JAR ファイルが署名されると、拡張子が「.SF」の署名ファイルがディレクトリ META-INF に作成されます。各ファイルのダイジェスト値は、署名者の秘密鍵を使用して署名 (または暗号化) されます。例えば、
名前: Hello.class SHA1-Digest: (署名者の秘密鍵を使用して暗号化されたダイジェスト値)
署名ファイルには、アーカイブのファイルのダイジェスト エントリが含まれています。これは、マニフェストのダイジェスト値エントリに似ています。ただし、マニフェストのダイジェスト値はファイル自体から計算されますが、署名ファイルのダイジェスト値はマニフェストの対応するエントリから計算されます。署名ファイルには、マニフェスト全体のダイジェスト値も含まれています
- あいまいで説明的でない方法で議論を扱う他の情報源
ええと.. .SFファイルには何が含まれていますか? そのエントリはどのように計算されますか?
回答を投稿する前に、必要に応じてこのようなハッシュ計算機で確認してください!