【发布时间】:2011-08-04 07:27:57
【问题描述】:
我正在尝试使用本指南使用我们公司的 .pfx 证书签署 jar 小程序存档
(以及一些来自互联网的其他人):
http://www.globalsign.com/support/ordering-guides/SignJavaCodeAppletsPFX.pdf
一切似乎都很好,但是当我尝试通过浏览器运行苹果时,我看到了
“发布者”未知(不受信任)。当我去细节时,我可以看到合适的公司
名称和证书供应商 (GlobalSign)。为什么它没有正确显示为已知/受信任?
在我看来可疑的一件事是命令的输出
jarsigner -verify -verbose -certs Applet.jar:
(...)
sm 1936 Wed Apr 13 03:00:50 CEST 2011 org/my/Applet.class
X.509, CN=CompanyName, O=CompanyName, L=Tilst, ST=ProperState, C=DK
[certificate is valid from 18.02.10 14:58 to 18.02.13 14:58]
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
所以看起来缺少“k = 在密钥库中找到至少一个证书”
(应该是 smk 并且是 sm)。它只是部分签名吗?还是什么?
GlobalSign 给我的 .pfx 文件是否有可能是错误的
还不足以签署小程序?对于普通的可执行文件,它工作得很好......
有什么想法吗? ;)
编辑
@Jcs
看起来你是完全正确的。我用 keytool 检查了我的 PFX 文件,我得到:
Your keystore contains 1 entry
Alias name: company_alias
Creation date: Apr 13, 2011
Entry type: PrivateKeyEntry
Certificate chain length: 1
Certificate[1]:
所以看起来链条不完整。
我不确定这是否重要,但也有一些扩展,例如:
#1: ObjectId: (some_numbers_here) Criticality=true
KeyUsage [
DigitalSignature
]
#2: ObjectId: (some_numbers_here) Criticality=false
AuthorityInfoAccess [
[
accessMethod: (some_numbers_here)
accessLocation: URIName: http://secure.globalsign.net/cacert/ObjectSign.crt]
]
(...)
问题是:我的 PFX 文件是否完全错误,或者我需要向其中添加 globalsign root?
【问题讨论】:
-
无法下载指南,但您是否创建了“pfx”(我从未听说过)证书?
-
.pfx 是一种 PKCS #12 文件,例如 .p12。这个 .pfx 文件是我从其他项目(c++)中得到的,它可以正常工作。
-
这没有回答我的问题,我将重复一遍。“您是否创建 'pfx' ...证书?”
-
不,我没有自己创建 pfx 证书。我们直接从 GlobalSign 获得的 *.pfx 文件。
-
是的,您应该在 PFX 文件中添加 2 个证书:GlobalSign ObjectSign CA (secure.globalsign.net/cacert/ObjectSign.crt) 和 GlobalSign Primary Object Publishing CA (secure.globalsign.net/cacert/PrimObject.crt)。后者由 GlobalSign 根 CA 签名(不必包括在内)
标签: java applet certificate signing