Java 使用Microsoft Authenticode证书对jar文件进行签名

Java 使用Microsoft Authenticode证书对jar文件进行签名,java,eclipse-plugin,code-signing,Java,Eclipse Plugin,Code Signing,我可以使用Microsoft Authenticode证书进行java代码签名吗?有人有这方面的经验吗 我在thawte的网站上找到了,该网站描述了如何将MS证书转换为Java证书。另一方面,thawte销售java代码签名证书,我不确定转换MS one是否存在一些缺点 注:我想用它对eclipse插件进行签名。使用jdk提供的keytool生成证书,您可以使用jarsigner工具用这个证书对jar文件进行签名。jdk1.7.0工具包的bin文件夹中提供了keytool和jarsigner 用

我可以使用Microsoft Authenticode证书进行java代码签名吗?有人有这方面的经验吗

我在thawte的网站上找到了,该网站描述了如何将MS证书转换为Java证书。另一方面,thawte销售java代码签名证书,我不确定转换MS one是否存在一些缺点


注:我想用它对eclipse插件进行签名。

使用jdk提供的keytool生成证书,您可以使用jarsigner工具用这个证书对jar文件进行签名。jdk1.7.0工具包的bin文件夹中提供了keytool和jarsigner


用于Authenticode或Java代码签名的证书通常没有区别。两者都是具有扩展密钥使用(EKU)“代码签名”的X.509证书


可能不同的是密钥存储的格式。这就是私钥与证书一起存储的方式(如果存储在软件中,而不是存储在智能卡或硬件安全模块中)。过去Java使用Java密钥库格式(JKS),但现在也可以使用PKCS#12/PFX。您应该能够将密钥库转换为适当的格式。

您应该可以从Authenticode证书中获得一个
*.p12
文件(受密码保护)。然后应该执行
jarsigner
对jar进行签名:
jarsigner-keystore-storetype pkcs12-storepass-tsahttp://tsa.starfieldtech.com -verbose
(可以通过运行
keytool-list-storetype pkcs12-keystore
)找到别名@orionll:本教程介绍了如何获取.p12文件,但是您知道java代码签名证书和Microsoft Authenticode证书之间是否有区别吗?还是仅仅是证书格式?我认为没有区别。但是,Windows和Java使用不同的受信任存储。您应该检查您的证书提供程序是否在受信任的机构列表中。您可以通过执行
keytool-keystore”%JAVA_HOME%/jre/lib/security/cacerts“-list
来检查它,我使用的是thawte,它们是受支持的。感谢您的评论。出于测试目的,我已经尝试过了,但它在eclipse中仍然显示一个警告,即证书不可信。运行
jarsigner-verify
。罐子真的有签名吗?