当我尝试自签名时,如下所示。
jarsigner -keystore my keystore myjar.jar myalias
它给出如下警告:
请帮助解决问题。
最佳答案
最近的Java 7提供了(礼貌吗?)关于已经存在十年的警告。
Trusted Timestamping在Java 5(2004)中引入。这样做的动机是当证书过期时,不会强制开发人员“每年重新签名已部署的JAR文件”。
→http://docs.oracle.com/javase/1.5.0/docs/guide/security/time-of-signing.html
通常,颁发证书的证书颁发机构(CA)提供基于URL的时间戳颁发机构(TSA),以与CA颁发的相同证书一起使用。例如,digicert tsa url可以按以下方式访问:jarsigner -tsa http://timestamp.digicert.com [.. other options]
→http://www.digicert.com/code-signing/java-code-signing-guide.htm
具有自签名证书的时间戳可能是一个难以实现的目标,因为(1)TSA时间戳需要是一个受信任的独立交易(排除“自我时间戳”),并且(2)设置了典型的TSA URL以与之配合使用由同一CA组织提供的证书(即TSA URL不处理自签名证书)
更新:
尝试给带有自签名证书的时间戳记的URL:
-tsa http://sha256timestamp.ws.symantec.com/sha256/timestamp
(由brad-turek每条评论)对于专用网络,可以考虑使用内部时间戳记授权机构,例如Thales(nCipher)时间戳服务器(或以前称为OpenTSA)