目前我们使用jarsigner签署我们的jar.然后,我们为某些特定类显示一些SHA1-Digest值,以向外部审计员证明代码在发行版之间没有变化.

我们只依靠META-INF / xxx.SF文件来获取摘要信息,我们从不使用META-INF / xxx.DSA签名块文件.

因为我们只需要在代码中进行摘要计算,所以我想知道是否可以使用某些java工具生成.SF文件,而无需实际使用密钥.

解决方法:

这应该是可能的. MANIFEST.MF文件包含相应类文件的Base64编码的SHA-1.

从您的文件:

In the manifest file, the SHA digest value for each source file is the

digest (hash) of the binary data in the source file. In the .SF file,

on the other hand, the digest value for a given source file is the

hash of the three lines in the manifest file for the source file.

因此,迭代所有类文件,计算出在MANIFEST.MF中出现的SHA-1格式,然后在SF文件中对其进行散列和格式化.

计算没有关键.

示例:考虑“jce1_2_2.jar”(或者您已正确签名的任何内容).这包含

>表格的MANIFEST.MF条目

Name: javax/crypto/KeyAgreement.class

SHA1-Digest: c2p0JimzpV0dG+NChGLl5cI7MuY=

>哪个是“KeyAgreement.class”的Base64(SHA1-1)(路径不相关).注意第三个空行.行结尾是CRLF(Windows).

> META-INF / 4JCEJARS.SF条目

Name: javax/crypto/KeyAgreement.class

SHA1-Digest: whGBXE+AvYO6wAoVCdnocOPIrsE=

这是不是文件的哈希,而是上面三行的哈希.

标签:java,jar,manifest,jarsigner

来源: https://codeday.me/bug/20190613/1234251.html

java sha1hash ios_是否可以在java Manifest文件中使用SHA1-Digest而无需实际使用密钥相关推荐

  1. Android manifest文件中的标签详细介绍

    Android manifest文件中的标签详细介绍 概要 每一个Android应用都应该包含一个manifest文件,即AndroidManifest.xml.它包含了程序运行的一些必备信息,比如: ...

  2. 智能一代云平台(四十):Maven项目如何将lib下依赖的包打印在manifest文件中

    强烈推荐一个大神的人工智能的教程:http://www.captainbed.net/zhanghan [前言] 今天突然发现在Pom文件中进行相关的设置,可以将自己所依赖的jar包在Manifest ...

  3. java dom4j 去除空行_如何从XML文件中删除多余的空行?

    总之;我在XML文件中生成了很多空行,并且我正在寻找一种方法将它们作为一种倾斜文件的方式来删除它们.我怎样才能做到这一点 ?如何从XML文件中删除多余的空行? 有关详细说明,目前,我有这个XML文件: ...

  4. java中获取文件总行数_关于java:如何以有效的方式获取文件中的行数?

    本问题已经有最佳答案,请猛点这里访问. 我有一个大文件. 它包括大约3.000-20.000行. 如何使用Java获取文件中的行总数? 从你的评论到答案来判断,你要找的词是"有效的" ...

  5. java图的建立field_《Java虚拟机原理图解》1.4 class文件中的字段表集合--field字段在class文件中是怎样组织的...

    0.前言 了解JVM虚拟机原理是每一个Java程序员修炼的必经之路.但是由于JVM虚拟机中有很多的东西讲述的比较宽泛,在当前接触到的关于JVM虚拟机原理的教程或者博客中,绝大部分都是充斥的文字性的描述 ...

  6. java object取数据_java使用ObjectInputStream从文件中读取对象

    import java.io.EOFException; import java.io.FileInputStream; import java.io.FileNotFoundException; i ...

  7. java itextpdf签章 根据关键字定位在pdf文件中的坐标

    最近接到个需求,根据所传关键字,定位关键字所在pdf文件中的坐标,然后盖章,其中所传参数还有关键字所在页数,和获取第几次出现的关键字,会传多个印章和关键字,每个印章对应一个关键字.自己先写了个简单de ...

  8. java 异步记录日志_java异步写日志到文件中实现代码

    java异步写日志到文件中详解 实现代码: package com.tydic.ESUtil; import java.io.File; import java.io.FileWriter; impo ...

  9. android开发那些事儿(三)--manifest文件中uses-sdk和project中target详解

    Android中<uses-sdk>属性和target属性 1. 概要 <uses-sdk> 用来描述该应用程序可以运行的最小和最大API级别,以及应用程序开发者设计期望运行的 ...

最新文章

  1. 【Go】Go基础(六):数组、切片slice、映射map
  2. c++ vector最大值_第14章 火柴人的无尽冒险(《C和C++游戏趣味编程》配套教学视频)...
  3. 开源大数据周刊-第76期
  4. linux shell trap捕捉信号 附信号表 SIGTERM SIGKILL
  5. 物料主数据(SAP屠夫)
  6. Lecture 2 Introduction
  7. 机器人J中WPR_北方工业大学服务机器人研究项目介绍
  8. C 迭代器iterator的实现原理
  9. Mybatis处理表关联(懒加载)
  10. linux 消息队列机制
  11. The Best and the Worst
  12. [有问有答] 如何用邮件安全地传递密码
  13. (10)System Verilog 虚方法
  14. OmniGraffler软件和激活码
  15. 如何在VSCode上新建Flutter项目【两步搞定】
  16. yum [Errno -1] Metadata file does not match checksum
  17. PGIS中java程序授权问题
  18. 20201022-成信大-C语言程序设计-20201学期《C语言程序设计B》C-trainingExercises19
  19. 如何对apk文件进行反编译
  20. 论需求分析方法及应用--系统分析师

热门文章

  1. 终于走上了自己应该走的路
  2. java IO流之缓冲流详解
  3. java大神的成神之路
  4. git 实际需求详解
  5. c语言中生日蛋糕图片大全,简单生日蛋糕图片大全
  6. 【C#食谱】【面食】菜单7:用默认值初始化泛型变量
  7. 2017inter面食德提姆
  8. python3.7实现福彩双色球购票系统(单机版)
  9. KUKA 正运动学计算
  10. 深度学习——day39 综述——(2019 计算机学报)深度卷积神经网络的发展及其在计算机视觉领域的应用_张顺