【问题标题】:Signing jar with timestamp and authentication at the timestamp server在时间戳服务器上使用时间戳和身份验证签名 jar
【发布时间】: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


    【解决方案1】:

    签名的 Jarfile 有效性受用于签名的证书的有效性限制。

    时间戳只能说明 jarfile 的签名时间。

    要签署 jarfile,pvtkey 是必须的。 对于时间戳,技术上不需要密钥,只需一个哈希即可。

    更多信息请参考以下链接, https://www.digistamp.com/technical/how-a-digital-time-stamp-works/

    谢谢。

    【讨论】:

    • 在提出问题时我想使用的时间戳服务器需要一个单独的证书来向服务器验证客户端。问题是关于这个证书,而不是用于签署 jar 文件的证书。
    猜你喜欢
    • 2014-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    相关资源
    最近更新 更多