`

Jar 包签名

jar 
阅读更多

给JAR文件数字签名
1、用keytool生成密钥:

keystore的生成:a、分阶段生成:keytool -genkey -alias pf(别名) -keypass pf(别名密码) -keyalg RSA(算法) -keysize 1024(密钥长度) -validity 365(有效期,天单位) -keystore

e:\pf.keystore(指定生成证书的位置和证书名称) -storepass 123456(获取keystore信息的密码);回车输入相关信息即可;

b、一次性生成:keytool -genkey -alias pf -keypass pf -keyalg RSA -keysize 1024 -validity 365 -keystore  e:\pf.keystore -storepass 123456 -dname "CN=(名字与姓氏), OU=(组织单位名称), O=(组织名称), L=(城市或区域名称), ST=(州或省份名称), C=(单位的两字母国家代码)";(中英文即可)

例如:keytool -genkey -keystore key.keystore -alias key -validity 365 

 将在当前目录下生成一个key.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里365表示1年。(用这个证书签名的程序1年内有效,不加时默认为90天)。

(

备注:keystore的存储位置

在没有制定生成位置的情况下,keystore会存在与用户的系统默认目录, 

如:对于window xp系统,会生成在系统的C:\Documents and Settings\UserName\ 别名“.keystore”

)

 2、用jarsigner来用此密匙为JAR签名:
 jarsigner -keystore key.keystore -storepass 123 -keypass 321 kk.jar key
 这样kk.jar文件就被签名了,打开jar文件中manifest目录下可以看到多了两个文件,*.sf和*.dsa文件
 3、验证jar文件是否已签名
 jarsigner -verbose -verify kk.jar

 

补充:

JDK中keytool常用命令

-genkey      在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书

-alias       产生别名

-keystore    指定密钥库的名称(产生的各类信息将不在.keystore文件中

-keyalg      指定密钥的算法   

-validity    指定创建的证书有效期多少天

-keysize     指定密钥长度

-storepass   指定密钥库的密码

-keypass     指定别名条目的密码

-dname       指定证书拥有者信息 例如: "CN=pfly,OU=atr,O=szu,L=sz,ST=gd,C=cn"

-list        显示密钥库中的证书信息      keytool -list -v -keystore pf -storepass ....

-v           显示密钥库中的证书详细信息

-export      将别名指定的证书导出到文件 keytool -export -alias cpf -file cpf.crt

-file        参数指定导出到文件的文件名

-delete      删除密钥库中某条目          keytool -delete -alias pf -keystore pf

-keypasswd   修改密钥库中指定条目口令    keytool -keypasswd -alias pf -keypass .... -new .... -storepass ... -keystore pf

-import      将已签名数字证书导入密钥库 keytool -import -alias pf -keystore pfly -file pfly.crt

             导入已签名数字证书用keytool -list -v 以后可以明显发现多了认证链长度,并且把整个CA链全部打印出来。

分享到:
评论

相关推荐

    java JAR包签名

    JAR包签名的主要好处包括: 1. **身份验证**:签名能识别和验证JAR文件的开发者,增强用户对软件的信任度。 2. **完整性和安全性**:签名确保了JAR文件自签名后未被修改,防止了恶意代码的注入。 3. **权限管理**:...

    jar包签名和打包工具

    JAR包签名的过程涉及到使用数字证书来验证发布者的身份和确保代码的完整性。这可以通过Java的`jarsigner`工具完成。签名的主要步骤包括: 1. **创建Keystore**:开发者首先需要一个密钥库(keystore),其中包含私钥...

    1.7JAR包签名工具

    标题 "1.7JAR包签名工具" 涉及的是Java应用程序的打包与安全问题。在Java开发中,JAR(Java Archive)文件是一种集合了类文件、资源文件和其他元数据的压缩格式,用于分发和运行Java程序。签名JAR文件是确保其完整性...

    数字证书签发,给jar包签名

    3.用私钥给jar包签名 工具支持的密钥库形式: 1.PKCS12 2.JKS 查看证书库内容: 分为私钥别名和证书别名 生成证书的同时会生成三个文件: 1.私钥文件(pem) 2.证书文件(pem) 3.密钥库文件--jks或者p12(pfx)后者IE可用 ...

    sign4j jar包签名工具

    "sign4j jar包签名工具"是专为此目的设计的一个实用工具,它利用Swing界面提供了友好的用户体验,并且封装了Java Development Kit(JDK)自带的签名功能,使得批量对Java Archive(JAR)文件进行签名变得非常便捷,...

    java之jvm学习笔记八(实践对jar包的代码签名)

    本文将深入探讨Java的JVM如何实践对JAR包的代码签名。 代码签名是一种验证软件来源可靠性的方法,它通过数字签名技术为JAR文件提供了一种认证机制。在Java中,我们可以使用Java自带的工具如`jarsigner`来完成这个...

    jar打包工具 jar

    本人经历三天制作出炉的jar打包工具,请大家下载试用。

    jar 包自动数字签名工具

    本工具——"jar 包自动数字签名工具",专门设计来简化这一过程。 数字签名是一种用于验证文件完整性和来源的方法,它通过使用公钥/私钥加密技术实现。在Java中,数字签名能确保Applet或其他可执行JAR文件没有被篡改...

    如果给jar包制作数字签名

    ### 如果给jar包制作数字签名 #### 知识点概览 - **数字签名的意义**:数字签名在软件开发中尤为重要,尤其是对于那些需要访问客户端本地资源的应用(如Applet或Java Web Start程序)。通过数字签名,开发者可以...

    Jar包Jar包Jar包Jar包

    标题提到的"Jar包Jar包Jar包Jar包"可能是强调这些文件的重要性或者重复提及,而描述中的"我下载的一些Jar包,希望有人会用到,找了很久"表明这些JAR文件可能是作者收集的,可能包含了特定的功能或库,对某些项目可能...

    jar包修改神器.rar

    此外,对于签名的jar包,重命名类可能会影响签名的验证,因此在实际操作前需谨慎考虑。 总的来说,这个"jar包修改神器"是一套强大的解决方案,为开发者处理Java项目的jar包冲突提供了一种便捷的途径。正确使用这套...

    cos jar包cos jar包

    标题中的"COS Jar包"指的是腾讯云对象存储(Cloud Object Storage)提供的Java SDK库,它是一个jar文件,方便开发者在Java环境中使用腾讯云COS服务。COS是腾讯云提供的海量、安全、低成本、高可靠的云存储服务,可以...

    POI poi相关所有jar包 poi jar包 poi最全jar包

    这个压缩包包含了POI项目中所有必要的jar包,总计十二个,确保了对Office文档全面的支持。这些jar包通常在开发需要读写Excel、Word或PowerPoint的Java应用时非常有用。 1. **Apache POI核心库**:`poi-ooxml-...

    jar包1jar包1jar包1jar包1jar包1

    【描述】: "jar包1jar包1jar包1jar包1jar包1jar包1jar包1" 这段描述可能是在描述JAR文件在项目开发中的频繁应用,或者可能是在指出一个特定的JAR文件——"jar包1"在系统中扮演的关键角色。JAR文件通常包含运行Java...

    jar包jar包jar包jar包jar包

    4. **签名与安全**:为了确保JAR文件的完整性和安全性,可以对它们进行数字签名。这允许验证JAR的来源,防止恶意篡改,并确保在运行时加载可信代码。 5. **执行JAR文件**:Java提供了一个内置机制来执行JAR文件。...

    j2ee框架的搭建+jar包的相关说明

    6. **jar包签名**:对于发布给外部使用的库,有时需要进行jar包签名,以验证其来源和完整性,防止恶意篡改。 7. **jar包压缩**:在某些情况下,为了减小程序体积,可以使用工具如ProGuard对jar包进行混淆和压缩。 ...

    常用jar包打包

    本主题将深入探讨“常用jar包打包”这一概念,主要关注在邮件发送和短信发送方面常用的JAR包。 首先,让我们了解什么是JAR文件。JAR是一种归档格式,由Java开发工具包(JDK)中的jar命令创建。它允许开发者将多个...

    jar或者APK安装签名源程序

    `apksign`工具使用V1(JAR签名)和V2(APK包签名)或V3(APK签名方案3)进行签名,以提供更好的安全性。 1. **V1签名**:类似于`jarsigner`,在ZIP归档的末尾添加签名块,但也会在每个DEX文件上签名,以确保即使DEX...

Global site tag (gtag.js) - Google Analytics