如果我创建一个密钥库并使用以下命令签署jar:
keytool -genkey -alias myalias -keyalg RSA -validity 365 -keystore keys/my.keystore
jarsigner -verbose -keystore keys/my.keystore -signedjar my_signed.jar my_unsigned.jar myalias
然后我会生成365天有效的证书。 365天后jar文件会发生什么? 它还可以运行吗?当他使用" jarsigner verify&#34 ;?时,有人仍然可以获得它的签名者吗?如何更新证书?
答案 0 :(得分:3)
jarsigner工具根据http://docs.oracle.com/javase/7/docs/technotes/guides/security/time-of-signing.html
有一个选项(-tsa url)如果使用tsa选项,则jar的签名中包含签名时间戳。许多提供代码签名证书的CA都有这样的时间戳服务器。稍后验证jar的签名时,客户端会在jar签名时检查证书是否仍然有效。所以即使一年过去了,罐子仍然可以被验证。您应该使用CA的时间服务器,因为可以验证时间戳的签名(证书链已经包含在内 - 因为您使用该证书中的证书对代码进行了烧录)