问题标签 [trusted-timestamp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7742 浏览

pdf - 在 PDF 签名中包含时间戳的步骤

再会,

我正在尝试将时间戳信息嵌入到 pdf 签名中,以便 adobe 向我报告签名是时间戳。目前,我所做的只是 Adob​​e 报告“签名包含嵌入的时间戳,但无法验证”,当您查看日期/时间属性时,它说“时间戳授权”不可用并且“显示证书”是灰色的。

显然,我在构建 PKCS#7 消息时做错了。但我现在不知道什么。有人可以通过描述我需要采取的步骤来帮助我,以便为我的签名加盖时间戳吗?或者建议一个可以帮助我找到问题的工具?

我正在使用加密 API。我目前遵循的步骤如下:

  1. 使用CryptHashMessage函数 (SHA256)创建 pdf 数据的摘要。
  2. 使用CryptRetrieveTimeStamp函数将此摘要发送到 TSA 。我设置了 *TIMESTAMP_DONT_HASH_DATA* 标志,这样摘要就不会再次被散列。
  3. 来自 TSA 的响应作为未经身份验证的属性添加到 *CRYPT_SIGN_MESSAGE_PARA* 结构中,并且签名时间作为经过身份验证的属性添加。
  4. 然后我使用CryptSignMessage函数对使用上述结构的原始数据进行签名。

如何检查数据是否正确,以便 adobe 可以向我显示签名已加盖时间戳?

问候,玛格达

0 投票
3 回答
15135 浏览

digital-signature - 验证 RFC 3161 可信时间戳

在我的构建过程中,我想包含来自符合 RFC-3161 的 TSA 的时间戳。在运行时,代码将验证这个时间戳,最好不需要第三方库的帮助。(这是一个 .NET 应用程序,因此我可以随时使用标准哈希和非对称加密功能。)

RFC 3161 依赖于 ASN.1 和 X.690 等等,实现起来并不简单,所以至少现在,我使用 Bouncy Castle 来生成 TimeStampReq(请求)并解析 TimeStampResp(响应)。我只是无法弄清楚如何验证响应。

到目前为止,我已经弄清楚了如何提取签名本身、公共证书、创建时间戳的时间以及我发送的消息印记摘要和随机数(用于构建时验证)。我不知道如何将这些数据放在一起以生成经过散列和签名的数据。

这是我正在做什么以及我正在尝试做什么的粗略想法。这是测试代码,所以我采取了一些捷径。一旦我得到一些有用的东西,我将不得不清理一些东西并以正确的方式做它们。

构建时生成时间戳:

运行时的时间戳验证(客户端站点):

正如您可能猜到的那样,我认为我被卡住的地方是MagicallyCombineThisStuff功能。

0 投票
1 回答
1252 浏览

pdf - 使用 iText 的离线 PDF 时间戳

是否可以使用 iText 或任何其他组件离线为 PDF 文档添加时间戳?

我已经使用 iText 和 TSAClient 类搜索了标准解决方案,但它需要 TSA 作为在线服务。我们有来自 TSA 的证书(包括私钥),其目的是创建时间戳签名,但我找不到任何技术方法如何使用 iText 进行操作。

感谢您的任何指导。里士满

0 投票
1 回答
7312 浏览

java - Java中带有时间戳的数字签名

我在使用受信任的时间戳使用 Bouncy Castle 创建有效的 CMS 签名时遇到问题。签名创建效果很好(我想将签名包含在 PDF 文件中),签名有效。但是在我在签名的未签名属性表中包含受信任的时间戳后,签名仍然保持有效,但阅读器报告签名包含嵌入的时间戳但它是无效的。这让我相信,我时间戳的哈希值不是正确的,但我似乎无法弄清楚它有什么问题。

签名代码:

createTSToken代码:

timestampData

谢谢你的帮助!

示例文件:

签名 PDF

未签名的 PDF

使用 iText 签名的 PDF

使用 LTV 签名的 PDF - 已编辑

0 投票
0 回答
170 浏览

java - 同时签名和时间戳VS稍后签名和时间戳

我正在构建一个必须符合欧盟数字签名指令的数字签名模块。

我从一个旧的但运行良好的 Java 模块开始以CAdES格式对文档进行签名。此外,该应用程序由客户端(桌面 JAR 可执行文件)和服务器部分组成。客户端仅被开发用于与连接到 USB 读卡器的智能卡进行交互,其余的发生在 Web 服务器上。

当前的签名客户端支持两种对文件进行签名和时间戳记的方式:我可以使用“签名和时间戳记”功能,或者我可以先对文档进行签名,然后再为其添加时间戳记。

从法律的角度来看,两者都产生相同的结果。

我的问题是:从技术的角度来看,当我用 CAdES 签署文件(RFC 5126,140 页我无法全部阅读)时,输出文件是否正确,当我使用组合的“符号和时间戳”功能或按顺序使用这两个功能?

让我换个说法:根据标准是否不可能有一个既代表数字签名又代表时间戳的附件?标准是否要求对已签名的文件加时间戳,反之亦然?

我想要实现的是在客户端签署文档(使用智能卡),然后在服务器上为文件添加时间戳(不接触旧的客户端代码)并产生与我在客户端上对文件进行签名和时间戳相同的确切结果。

0 投票
0 回答
396 浏览

pdf - 使用 Adob​​e Acrobat XI 无法查看 PDF 中的有效时间戳

我正在尝试使用来自 SVN 和 Acrobar Reader 的 iText 验证 LTV PDF 文档中的时间戳,我的代码是动作 2ed 中 iText 的样板。iText 很乐意验证它,但 Acrobar Reader 说时间戳无效。timeStamp 服务使用 SHA256 摘要算法,我看到了一些我在其他时间戳服务中没有看到的东西;证书的扩展使用显示比时间戳更多的使用,并且 CRL url 和 OSCP url 都被破坏了,这可能是错误的原因吗?我在下面放了一个指向 PDF 的链接

非常感激,

bad_timestamp.pdf

0 投票
0 回答
308 浏览

android - 如何在数字签名中实现时间戳

以下是我生成签名的代码片段:

签名工作正常,但目前我想实现一个时间戳功能,这会导致签名有时会在 30 天后过期。但是,我没有处理时间戳的经验,我也找不到解释得足够好的示例或教程。因此,我想询问有关如何开始的链接/解释/教程!如果可能的话,我可以使用的代码片段!提前致谢!

0 投票
1 回答
38315 浏览

digital-signature - 有谁知道免费(试用)时间戳服务器服务?

想知道是否有人知道任何免费(试用)时间戳服务器服务。我想在 itext 中测试时间戳功能。就像我出于测试目的使用 Start Com 1 类作为免费 CA 一样。希望我说清楚了。希望有人知道一个地方谢谢

0 投票
1 回答
705 浏览

java - 客户端中已生成文件哈希的时间戳请求

我需要向大型数据文件的 tsa 发出时间戳请求,因此我正在使用 javscript crypto-js 在客户端中生成哈希。

当我稍后在java中尝试发出请求时,问题就来了。显然,TimeStampRequestGenerator.generate 方法需要一个 byte[] 参数,在示例中我可以看到它是从文件内容生成的 MessageDigest 对象,我找不到仅使用已经生成的哈希的方法。

是否可以仅使用已生成文件的哈希来发出请求?

谢谢

0 投票
1 回答
1357 浏览

java - 如何获取 TimeStamping Token 并将其应用于 PDF 文件?

我正在尝试从服务器获取时间戳令牌,并将此令牌应用于稍后将签名的 PDF 文件。
我在问是否有人已经使用 java 处理过类似的概念
我有一些关于 TimeStamping Authority (TSA) 的信息,例如:

  • 政策:1.2.504.1.1.1.1.1.3.1.1
  • 格式:RFC 3161
  • 算法:SHA1 与 2048 位的 RSA 相关联。
  • UTC 时区


如何获取认证日期并将其放入 PDF 文件中?