在时间戳服务器上使用时间戳和身份验证签名jar
问题描述:
我想使用java jarsigner工具的时间戳选项-tsa
。我想要的时间戳服务需要认证。为此,您可以获得个性化的软标记,以在时间戳服务器上识别您自己。在时间戳服务器上使用时间戳和身份验证签名jar
我的问题:该认证是否支持jarsigner工具?换句话说:jarsigner是否支持RFC 3161(时间戳协议)和 RFC 2246(认证)?
有一个选项-tsacert
的jarsigner。该文档指出:
如果在签名JAR文件时在命令行上出现“-tsacert别名”,则会为签名生成时间戳。别名标识当前有效的密钥库中的TSA公钥证书。检查条目的证书是否包含标识TSA位置的URL的Subject信息访问扩展。
我感到困惑的是措辞“为签名生成时间戳”。这是什么意思?此外,“别名标识TSA的公钥证书”的措辞令人困惑:似乎它用于验证时间戳(因为它是公钥)不识别请求者(因为它不是私钥)。
此外:我想签署的证书是而不是软令牌,但存储在智能卡上。它不能被导出到密钥库。因此我必须使用选项-keystore NONE -storetype PKCS11
。我认为由于这个原因,选项-tsacert alias
不能使用,因为它需要一个真正的包含软标记的密钥库。
答
签名的Jarfile有效性以用于签名的证书的有效性为界。
时间戳只能说jar文件签名时。
对于签署jar文件,pvtkey是必须的。 对于时间戳,技术上不需要任何密钥,只是散列而已。
请参考下面的链接了解更多, https://www.digistamp.com/technical/how-a-digital-time-stamp-works/
谢谢。
我想在问题发生时使用的时间戳服务器需要一个单独的证书来验证客户端到服务器的身份。问题是关于这个证书,而不是用来签署jar文件。 – Claude 2015-03-03 19:02:24