【发布时间】:2013-02-14 09:17:31
【问题描述】:
我想使用 java jarsigner 工具的时间戳选项 -tsa。我想到的时间戳服务需要身份验证。为此,您将获得一个个性化的软令牌,以在时间戳服务器上识别您自己。
我的问题:jarsigner 工具是否支持这种身份验证?换句话说:jarsigner 是否支持 RFC 3161(时间戳协议)和 RFC 2246(身份验证)?
jarsigner 有一个选项-tsacert。文档指出:
如果在对 JAR 文件进行签名时命令行上出现“-tsacert alias”,则会为签名生成时间戳。别名标识当前有效的密钥库中的 TSA 公钥证书。检查条目的证书以查找包含标识 TSA 位置的 URL 的主题信息访问扩展。
我感到困惑的是“为签名生成时间戳”的措辞。这是什么意思? “别名标识 TSA 的公钥证书”的措辞也令人困惑:它似乎用于验证时间戳(因为它是公钥)而不是识别请求者(因为它不是私钥)。
此外:我要签署的证书不是软令牌,而是存储在智能卡上。它不能导出到密钥库。因此我必须使用选项-keystore NONE -storetype PKCS11。我认为由于这个原因不能使用选项-tsacert alias,因为它需要一个包含软令牌的真实密钥库。
【问题讨论】:
标签: java jarsigner jar-signing