首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android 安全之APK签名过程

由于这个平台的程序主要是用 Java 编写的,所以这种格式与 Java 包的格式 -- jar(Java Archive)有很多共同点,它用于将代码,资源和元数据(来自可选的META-INF目录 )文件使用...基本上, Android 的情况,apkbuilder工具将构建的项目文件压缩到一起[1],使用标准的 Java 工具jarsigner对这个归档文件签名。...应用程序签名过程,jarsigner创建META-INF目录, Android 通常包含以下文件清单文件MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...清单文件MANIFEST.MF)由属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...版本 2.2 之前,此方法检查数组s1是否包含在s2。这种行为允许系统安装升级,即使它们已经使用原始应用程序的证书子集签名[2]。 几种情况下,需要同一开发人员的应用程序之间的信任关系。

99410
您找到你想要的搜索结果了吗?
是的
没有找到

浅入浅出 Android 安全:第六章 Android 安全的其它话题

由于这个平台的程序主要是用 Java 编写的,所以这种格式与 Java 包的格式 – jar(Java Archive)有很多共同点,它用于将代码,资源和元数据(来自可选的META-INF目录 )文件使用...基本上, Android 的情况,apkbuilder工具将构建的项目文件压缩到一起[1],使用标准的 Java 工具jarsigner对这个归档文件签名[6]。...应用程序签名过程,jarsigner创建META-INF目录, Android 通常包含以下文件清单文件MANIFEST.MF),签名文件(扩展名为.SF)和签名块文件(.RSA或.DSA)...清单文件MANIFEST.MF)由属性部分和每个条目属性组成,每个包含在未签名的apk中文件拥有一个条目。 这些每个条目中的属性存储文件名称信息,以及使用 base64 格式编码的文件内容摘要。...版本 2.2 之前,此方法检查数组s1是否包含在s2。这种行为允许系统安装升级,即使它们已经使用原始应用程序的证书子集签名[2]。 几种情况下,需要同一开发人员的应用程序之间的信任关系。

34530

Java 中文官方教程 2022 版(十三)

META-INF/MANIFEST.MF清单文件。...输出还显示 JAR 文件包含一个默认清单文件 META-INF/MANIFEST.MF,该文件是由 JAR 工具自动放置存档的。 有关更多信息,请参阅理解默认清单部分。...存档只能有一个清单文件,并且它始终具有路径名 META-INF/MANIFEST.MF 当您创建一个 JAR 文件时,默认清单文件只包含以下内容: Manifest-Version: 1.0 Created-By...Jar 工具会自动将一个默认清单放入你创建的任何 JAR 文件,路径名为 META-INF/MANIFEST.MF。你可以通过修改默认清单来启用特殊的 JAR 文件功能,比如包封装。...例如,这个命令创建了app.jar,其中清单的Main-Class属性值设置为MyApp: jar cfe app.jar MyApp MyApp.class 你可以通过运行以下命令直接调用这个应用程序

5200

将引用了第三方jar包的Java项目打包成jar文件

用Eclipse自带的Export功能:该项目下建立自定义配置文件MANIFEST.MF:什么是MANIFEST.MFMANIFEST.MF描述Jar文件信息的说明文件;JAR文件中经常可以看到文件包含着一个...META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF;该文件包含类以及加载类路径等信息;MAINFEST.MF文件有着严格的格式限制,一般都是系统生成,如果是自己写的话,...(即lib文件和打包的jar文件同一个目录下),并将相关的jar包放在里面。...包才能找到你的class去运行,否则将会出现“jar没有主清单属性”的错误。...右击Java工程选择Export—>选择JAR file—>Next选择要打包的文件,并进行选项配置选择我们第一步自定义的配置文件路径Finish

73900

运行 jar 出现没有主清单属性

运行 jar 出现"没有主清单属性" 文章目录 现象 分析原因 现象 在运行通过 “java -jar xxx.jar” 的时候, 报 “没有主清单属性错误....\joke-server-1.0.0-SNAPSHOT.jar没有主清单属性 分析原因 看报错像是 jar 包缺少了属性配置....META-INF, 元数据信息, 打开后里面有一个 MANIFEST.MF 文件, 该文件指明了程序的入口以及版本信息等内容: Manifest-Version: 1.0 Implementation-Title...代表了类的路径, 所有编译后的 class 文件, 以及配置文件, 都存储该路径下 Spring-Boot-Lib 表示依赖的jar包存储的位置 怎么解决这些问题呢?...运行 java -jar xxx.jar 时会根据清单属性找到启动类, 从而启动程序 <groupId

6.7K40

linux学习(七) jar命令详解

(manifest.mf文件可以对jar包及其中的内容作一些一设置) -0 产生jar包时不对其中的内容进行压缩处理 -M 不产生所有文件清单文件(Manifest.mf)。...(8)忽略manifest.mf文件 jar cvfM hello.jar hello 生成的jar包不包括META-INF目录及manifest.mf文件 (9)加-C应用: jar...Main-Class主要当jar中有多个.class类文件时,java并不知道那个才是类,所以要指定,如果jar包只有一个类当然可以不指定。...manifest.mf已正确的设置了Mani-Class属性,再强调一下一定要注意规则。...(3) 用WinRAR生成.jar文件 我们已经说过JAR包与ZIP包主要区别就是JAR包多一个META-INF的目录,META-INF目录下有一个manifest.mf文件,我们只要建立好相关的目录一压缩就可以了

3K10

运行jar命令提示:没有主清单属性或者找不到或无法加载

文章如题:JAVA中将class文件编译成jar文件包,运行提示没有主清单属性。这是怎么回事? 工具/原料 首先确认你是否有文件java。 电脑需要安装winrar。...方法/步骤 1 、java编译JAR文件的时候我们都会用到,jar这个命令。当用着jar 文件时候我们不可少的是cvf这几个参数来生成jar文件。...但是用个文件来了,在用不使用工具的前提下我们生成的jar文件包后运行会出现。某某类的没有主清单属性。...这样的问题是因为,jar包META-INF文件夹下的MANIFEST.MF文件缺少定义jar接口类。说白了就是没有指定class类。...之后,双击打开这个文件META-INF: 再选择MANIFEST.MF文件,用记事本打开它: 现在看看文件是否有Main-Class这样一行文字,如果没有的话那么添加一行。

4.8K10

MANIFEST.MF文件(PDB文件)

打开Java的JAR文件我们经常可以看到文件包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF...除了前面提到的一些属性外,你也可以MANIFEST.MF增加自己的属性以及响应的值,例如J2ME程序jar包中就可能包含着如下信息 MicroEdition-Configuration: CLDC...Java 2 平台识别并解释 META-INF 目录的下述文件和目录,以便配置应用程序、扩展和类装载器: MANIFEST.MF。这个 manifest 文件定义了与扩展和包相关的数据。...JAR 文件的应用程序 java -jar app.jar 可执行的 JAR 一个 可执行的 jar 文件是一个自包含的 Java 应用程序,它存储特别配置的JAR 文件,可以由 JVM 直接执行它而无需事先提取文件或者设置类路径...验证一个签名的 JAR 时,将签名文件的摘要值与对 JAR 文件的相应项计算的摘要值进行比较。 清单 1.

66220

java jar 没有主清单属性_Spring Boot jar没有主清单属性的解决方法「建议收藏」

使用Spring Boot微服务搭建框架,eclipse和Idea下能正常运行,但是在打成jar包部署或者直接使用java -jar命令的时候,提示了xxxxxx.jar没有主清单属性: D:\hu-git...没有主清单属性 通过maven打jar包:mvn install, 或者IDE右击选择Run as -> maven install。...在这里有一个问题就是清单属性是什么?...以SpringBoot为例,jar包包含了三个文件夹:BOOT-INF,META-INF,org,可以把jar包解压到文件夹下查看,其中META-INF文件夹下有一个MANIFEST.MF文件,该文件指明了程序的入口以及版本信息等内容...org.springframework.boot spring-boot-maven-plugin 在运行mvn install的时候,自动生成这些清单属性,运行java -jar xxx.jar时会根据清单属性找到启动类

2.7K30

java命令行执行 jar_java命令打包jar

清单文件类条目 大多数jar文件目录META-INF里有个叫MANIFEST.MF文件文件,有一个叫Main-Class的特殊条目,它说明了java -jar命令执行的类。...manifest = new Manifest(); } 设置Main类的属性 我们把Main-Class条目放到清单文件里main属性部分。...一旦我们从mainfest对象得到这个属性集,我们就能设置合适的main类。然而,如果Main-Class属性存在于原始的JAR文件怎么办?这个程序仅仅打印出一个警告信息并退出。...= null) { //排除旧jar文件清单文件 if (“META-INF/MANIFEST.MF”.equals(entry.getName())) continue; //把条目写到输出jar...试着用java -jar命令运行myjar.jar文件,之后myjar_r.ja文件上。注意他们的不同!完成之后,研究每一个jar包清单文件(META-INF/MANIFEST.MF)。

1.5K10

java -jar 没有主清单属性_ideajar包已经导入但是还是报错

idear 打包报:jar没有主清单属性 部分参考自,InteliJ IDEA生成可执行jar运行提示没有主清单属性 – JavaShuo 并完善之。...with dependencies…”,以下: 2)选择一个Main Class,而后系统默认指定META-INF/MANIFEST.MF的路径要修改为src下(注意不要放到main/java目录下,...不然打成的jarMETA-INF/MANIFEST.MF不含有Main Class信息,生成可执行jar运行会提示没有主清单属性)默认的时X:\你的项目目录\src\main\java 后面的2级目录要删除...NettyDemo.jar没有主清单属性 看了这个文章: InteliJ IDEA生成可执行jar运行提示没有主清单属性 – JavaShuow 我尝试把 “我的idea 设置发布jar包时默认...,不在报“NettyDemo.jar没有主清单属性”了。

1.4K30

VIP创新项目1课程总结2021-2022学年第1学期

hello.jar没有主清单属性 F:\你的工程所在路径>java -jar hello.jar hello.jar没有主清单属性 解决办法1: java -classpath hello.jar...但是一般可直接执行的*.jar文件,用winrar等解压软件打开会发现都有一个META-INF文件夹,这个文件必须有个MANIFEST.MF文件,这个文件主要是用来描述可执行的*.jar的执行入口文件...,f表示给生成的jar包命名 (4)运行jar包    java -jar hello.jar 这时会报如下错误 hello.jar没有主清单属性 用压缩软件打开hello.jar,会发现里面多了一个...\两个类的jar>mkdir META-INF META-INF下创建MANIFEST.MF F:\Example_Project\两个类的jar>type nul>META-INF\MANIFEST.MF...\两个类的jar>下创建META-INF文件夹 F:\Example_Project\有目录结构的两个类jar>mkdir META-INF META-INF下创建MANIFEST.MF F:\Example_Project

83720

Android APK 签名校验

或者SHA256)消息摘要算法提取出该文件的摘要然后进行BASE64编码后,作为“SHA1-Digest”属性的值写入到MANIFEST.MF文件的一个块。...该块有一个“Name”属性,其值就是该文件apk包的路径。...2)计算这个MANIFEST.MF文件的整体SHA1值,再经过BASE64编码后,记录在CERT.SF属性块(文件头上)的“SHA1-Digest-Manifest”属性值值下。...首先,使用证书文件META-INF目录下,以.DSA、.RSA或者.EC结尾的文件)检验签名文件META-INF目录下,和证书文件同名,但扩展名为.SF的文件)是没有被修改过的。...然后,使用签名文件,检验MANIFEST.MF文件的内容也没有被篡改过; JarVerifier.VerifierEntry.verify做了最后一步验证,即保证apk文件包含的所有文件,对应的摘要值与

4.2K10

Java魔法堂:打包知识点之jar

(默认情况下会自动生成META-INF/MANIFEST.MF文件) -O ,创建jar包时不对内容进行压缩 -M ,不自动产生manifest.mf文件 -i ,创建jar包时创建META-INF...默认打包 */ // 生成的src.jar中就含src目录和jar自动生成的META-INF目录(内含MAINFEST.MF清单文件) jar -cvf src.jar src /* 2....追加内容到jar包 */ //追加MAINFEST.MF清单文件以外的文件,会追加整个目录结构 jar -uvf src.jar other\additional.class //追加清单文件,会追加整个目录结构...四、可执行的JAR包                                 当jar包包含可执行程序时,就可以通过 java -jar src.jar 命令来执行该可执行程序。...关于META-INF目录以及META-INF/MAINFEST.MF清单文件的内容,将在《Java魔法堂:打包知识点之META-INF/MAINFEST.MF》探讨。

1.1K70

springboot如何加载应用程序

要想调试springboot加载方式,不能直接在idea运行主程序,要使用真实场景下的java -jar方式运行,需要做两件事: 1、需要打包springboot应用程序 2、IDEA中用java...与之前的做个小实验,但这次做点小变动,依赖的jar也放一个META-INF/app.properties文件。...然而事实并非无此: 这不得不提到URLClassPath里面有两个内部Loader: FileLoader 是加载文件文件 JarLoader 是加载jar文件 《Classloader...,因为根节点不同,所以文件没有加载到,项目根目录里面的META-INF/app.properties,是整体工程根目录的META-INF/app.properties。...().getResource("com/zhuxingsheng/META-INF/app.properties"); 总结 此篇一是介绍了怎么IDEAdebug出运行java -jar springboot.jar

98420
领券