关于验证JAR的数字签名 RT想了解如何编程验证指定JAR的数字签名***是否需要第三方库,如果需要,如何使用 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 签名步骤: 1.将程序打成jar包。 这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。 2.用keytool命令生成.store文件。 在任意文件夹下建立一个keytool.bat文件,输入 keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650 保存,双击执行。将在当前目录下生成一个xxx.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。 3.用jarsigner程序对jar包进行签名。 新建jarsinger.bat文件,输入 jarsigner -keystore xxx.keystore helloworld.jar xxx 这样helloworld.jar就被签名了。 签名步骤: 1.将程序打成jar包。 这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。 2.用keytool命令生成.store文件。 在任意文件夹下建立一个keytool.bat文件,输入 keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650 保存,双击执行。将在当前目录下生成一个xxx.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。 3.用jarsigner程序对jar包进行签名。 新建jarsinger.bat文件,输入 jarsigner -keystore xxx.keystore helloworld.jar xxx 这样helloworld.jar就被签名了。 请注意!!!!!!!!我的问题是:以 “编程” 的方式 “验证” JAR签名验证!!!!!!不是怎么给JAR签名 使用java.security这个包里的signature这个类,你的需求相当于:1.已经有JAR包被签名了。2.你还握我签名JAR包的根证书3.你需要写JAVA代码来验证此JAR包是不是你握有的根证书签名的 非常感谢 flxi78 的回答不过这个Signature类似乎是一个非常底层的类,是用来签名或者验证byte数组的。有木有方法可以直接一步验证JAR呢?因为我对JAR包的签名过程不是非常了解,签名后包中的文件组织也不太清楚。 各种 ctrl+c&ctrl+v如果只是这样 你给个传送门吧。省得麻烦 上面给了那么的答案,貌似应该满足了你的签名我自己也按照这样测试过,没什么问题,其实google一下N多答案 http://stackoverflow.com/questions/1374170/how-to-verify-a-jar-signed-with-jarsigner-programmaticallyhttp://stackoverflow.com/questions/5587656/verifying-jar-signaturehttp://stackoverflow.com/questions/4970016/how-to-verify-signature-on-self-signed-jar java中socket编程自定义tcp数据包结构等 关于string.getBytes()的问题 C标签和logic标签哪 个好用? 面试题 谁帮忙做下 谢谢 java socket进行交互数据的一点疑问 随机数怎么老是43? jbuilder的数据库问题,前辈请指教 高手帮忙java从ms sql导数据到excel工作簿的问题,大分奉送!!! 想问各位大虾毕业两年后在做什么?该怎么转型? 请教各位,在java中如何将字符串转变成Date型数据. 求救~~刚装了JDK 但JAVAC.EXE运行不起来 怎么解决?急啊!!!谢谢 jar文件的解压缩问题
1.将程序打成jar包。
这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。 2.用keytool命令生成.store文件。
在任意文件夹下建立一个keytool.bat文件,输入
keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650 保存,双击执行。将在当前目录下生成一个xxx.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。 3.用jarsigner程序对jar包进行签名。
新建jarsinger.bat文件,输入 jarsigner -keystore xxx.keystore helloworld.jar xxx 这样helloworld.jar就被签名了。
1.将程序打成jar包。
这个我就不多说了,用eclipse,netbeans等开发工具很方便就能打包的。 2.用keytool命令生成.store文件。
在任意文件夹下建立一个keytool.bat文件,输入
keytool -genkey -keystore xxx.keystore -alias xxx -validity 3650 保存,双击执行。将在当前目录下生成一个xxx.keystore文件, -alias后接的是别名,-validity后面接的是该证书有效天数,这里3650表示10年。(用这个证书签名的程序10年内有效)。 3.用jarsigner程序对jar包进行签名。
新建jarsinger.bat文件,输入 jarsigner -keystore xxx.keystore helloworld.jar xxx 这样helloworld.jar就被签名了。
我的问题是:以 “编程” 的方式 “验证” JAR签名验证!!!!!!不是怎么给JAR签名
1.已经有JAR包被签名了。
2.你还握我签名JAR包的根证书
3.你需要写JAVA代码来验证此JAR包是不是你握有的根证书签名的
非常感谢 flxi78 的回答
不过这个Signature类似乎是一个非常底层的类,是用来签名或者验证byte数组的。
有木有方法可以直接一步验证JAR呢?因为我对JAR包的签名过程不是非常了解,签名后包中的文件组织也不太清楚。
我自己也按照这样测试过,没什么问题,其实google一下N多答案
http://stackoverflow.com/questions/5587656/verifying-jar-signature
http://stackoverflow.com/questions/4970016/how-to-verify-signature-on-self-signed-jar