JAR可以正常运行,但是每当我尝试运行命令时: jarsigner -verify
在使用JDK 1.7u1签名的JAR上,我都会得到以下输出:
s 180 Mon Dec 05 10:24:32 EST 2011 META-INF/MANIFEST.MF
[entry was signed on 12/5/11 10:24 AM]
X.509, CN=Removed Company Name, O=Removed Company Name, L=Removed City, ST=Removed State, C=US
[certificate is valid from 12/2/11 4:30 PM to 12/2/13 4:30 PM]
X.509, SERIALNUMBER=00000000, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
[certificate is valid from 11/15/06 8:54 PM to 11/15/26 8:54 PM]
X.509, OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
[certificate is valid from 6/29/04 1:06 PM to 6/29/34 1:06 PM]
[CertPath not validated: null]
342 Mon Dec 05 10:24:34 EST 2011 META-INF/JAVACSC.SF
6180 Mon Dec 05 10:24:34 EST 2011 META-INF/JAVACSC.RSA
0 Mon Dec 05 10:24:30 EST 2011 META-INF/
sm 2161 Wed Nov 30 10:23:20 EST 2011 C:/Users/Seth/Desktop/JAR/RunAppSF.class
[entry was signed on 12/5/11 10:24 AM]
X.509, CN=Removed Company Name, O=Removed Company Name, L=Removed City, ST=Removed State, C=US
[certificate is valid from 12/2/11 4:30 PM to 12/2/13 4:30 PM]
X.509, SERIALNUMBER=00000000, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
[certificate is valid from 11/15/06 8:54 PM to 11/15/26 8:54 PM]
X.509, OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
[certificate is valid from 6/29/04 1:06 PM to 6/29/34 1:06 PM]
[CertPath not validated: null]
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope
jar verified.
Warning:
This jar contains entries whose certificate chain is not validated.
我还在jarsigner -verify
JDK 1.6u26和1.6u14上使用与上述相同的JAR
尝试了该命令,结果返回正常。(输出低于1.6u26)。
180 Mon Dec 05 10:24:32 EST 2011 META-INF/MANIFEST.MF
342 Mon Dec 05 10:24:34 EST 2011 META-INF/JAVACSC.SF
6180 Mon Dec 05 10:24:34 EST 2011 META-INF/JAVACSC.RSA
0 Mon Dec 05 10:24:30 EST 2011 META-INF/
sm 2161 Wed Nov 30 10:23:20 EST 2011 C:/Users/Seth/Desktop/JAR/RunAppSF.class
[entry was signed on 12/5/11 10:24 AM]
X.509, CN=Removed Company Name, O=Removed Company Name, L=Removed City, ST=Removed State, C=US
[certificate is valid from 12/2/11 4:30 PM to 12/2/13 4:30 PM]
X.509, SERIALNUMBER=00000000, CN=Go Daddy Secure Certification Authority, OU=http://certificates.godaddy.com/repository, O="GoDaddy.com, Inc.", L=Scottsdale, ST=Arizona, C=US
[certificate is valid from 11/15/06 8:54 PM to 11/15/26 8:54 PM]
[KeyUsage extension does not support code signing]
X.509, OU=Go Daddy Class 2 Certification Authority, O="The Go Daddy Group, Inc.", C=US
[certificate is valid from 6/29/04 1:06 PM to 6/29/34 1:06 PM]
s = signature was verified
m = entry is listed in manifest
k = at least one certificate was found in keystore
i = at least one certificate was found in identity scope
jar verified.
我是否缺少为使JDK 1.7正确签名JAR而需要采取的额外步骤?
您 不会 丢失任何东西,而且绝对 不会 一个人遇到这个问题。经过将近12个小时的努力,我发现问题的根源在于将二进制文件JDK 1.7
与Java的较旧版本混合在一起JRE-1.6
。为了更准确,keytool
自带JRE
,而JDK
同时附带了keytool
和jarsigner
。
因此,要解决此问题,我已经JDK-1.7
从系统中完全卸载并安装了JDK-1.6 Update 30
。现在,如果我愿意,jarsigner -verify -verbose -certs blah.jar
它将在jar verified
没有任何警告的情况下产生,我相信这是您所期望的。
我正在用以下组件构建自己的证书链: 根证书是自签名证书,中间证书由根证书和用户由中间证书签名。 现在我想验证一个用户证书是否有其根证书的锚。 具有 验证是可以的。在下一步中,我将使用 验证结果显示 什么是错的?
我有一个PVK和SPC文件,想用它们来签署Netbeans IDE 7.3中的jar文件。我的应用程序将从JavaWebStart开始部署。 我使用keytool将它们组合成一个PFX文件。 “C:\Program Files\Microsoft SDK\Windows\v7.1\Bin\pvk2pfx.exe”-pvk joy。pvk-spc欢乐。spc-pi快乐-pfx快乐。pfx 我找到了化
我在签署我的JavaFX应用程序时遇到问题。我正在使用此处指定的ant任务: 然而,当我在签名的jar上运行jarsigner-验证时,它会说jar是无符号的。(签名丢失或不可解析)。 打开它,我看到一个文件META-INF/SIGNATURE. BSF,但我相信jarsigner期待: 签名文件,带有。SF扩展,和 那么,JavaFX签名任务是否没有创建正确的签名jar?BSF(Blob Sig
主要内容:Linux RPM 包校验,Linux RPM数字证书验证执行 命令可以看到,Linux 系统中装有大量的 RPM 包,且每个包都含有大量的安装文件。因此,为了能够及时发现文件误删、误修改文件数据、恶意篡改文件内容等问题,Linux 提供了以下两种监控(检测)方式: RPM 包校验:其实就是将已安装文件和 /var/lib/rpm/ 目录下的数据库内容进行比较,确定文件内容是否被修改。 RPM 包数字证书校验:用来校验 RPM 包本身是否被修改。 L
问题内容: 我想使用jarsigner对jar进行签名,然后使用Java应用程序对其进行验证,该Java应用程序没有将签名的jar作为其类路径的一部分(即,仅使用jar的文件系统位置) 现在我的问题是从罐子中取出签名文件,有没有简单的方法可以做到这一点? 我玩过Inflater和Jar InputStreams并没有运气。 还是可以通过更好的方式来实现? 谢谢 问题答案: 《安全提供程序实施指南》
我最近升级了Inteliij IDEA 2019.2,如果我尝试从IDE中提取Git,我会发现以下错误:无法访问'https://github.xxx.com/app-Hello-USD/DGS.git/“:SSL证书问题:证书链中的自签名证书。 有人能帮我什么选项,我必须启用。 谢谢