问题标签 [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.
pdf - 在 PDF 签名中包含时间戳的步骤
再会,
我正在尝试将时间戳信息嵌入到 pdf 签名中,以便 adobe 向我报告签名是时间戳。目前,我所做的只是 Adobe 报告“签名包含嵌入的时间戳,但无法验证”,当您查看日期/时间属性时,它说“时间戳授权”不可用并且“显示证书”是灰色的。
显然,我在构建 PKCS#7 消息时做错了。但我现在不知道什么。有人可以通过描述我需要采取的步骤来帮助我,以便为我的签名加盖时间戳吗?或者建议一个可以帮助我找到问题的工具?
我正在使用加密 API。我目前遵循的步骤如下:
- 使用CryptHashMessage函数 (SHA256)创建 pdf 数据的摘要。
- 使用CryptRetrieveTimeStamp函数将此摘要发送到 TSA 。我设置了 *TIMESTAMP_DONT_HASH_DATA* 标志,这样摘要就不会再次被散列。
- 来自 TSA 的响应作为未经身份验证的属性添加到 *CRYPT_SIGN_MESSAGE_PARA* 结构中,并且签名时间作为经过身份验证的属性添加。
- 然后我使用CryptSignMessage函数对使用上述结构的原始数据进行签名。
如何检查数据是否正确,以便 adobe 可以向我显示签名已加盖时间戳?
问候,玛格达
digital-signature - 验证 RFC 3161 可信时间戳
在我的构建过程中,我想包含来自符合 RFC-3161 的 TSA 的时间戳。在运行时,代码将验证这个时间戳,最好不需要第三方库的帮助。(这是一个 .NET 应用程序,因此我可以随时使用标准哈希和非对称加密功能。)
RFC 3161 依赖于 ASN.1 和 X.690 等等,实现起来并不简单,所以至少现在,我使用 Bouncy Castle 来生成 TimeStampReq(请求)并解析 TimeStampResp(响应)。我只是无法弄清楚如何验证响应。
到目前为止,我已经弄清楚了如何提取签名本身、公共证书、创建时间戳的时间以及我发送的消息印记摘要和随机数(用于构建时验证)。我不知道如何将这些数据放在一起以生成经过散列和签名的数据。
这是我正在做什么以及我正在尝试做什么的粗略想法。这是测试代码,所以我采取了一些捷径。一旦我得到一些有用的东西,我将不得不清理一些东西并以正确的方式做它们。
构建时生成时间戳:
运行时的时间戳验证(客户端站点):
正如您可能猜到的那样,我认为我被卡住的地方是MagicallyCombineThisStuff
功能。
pdf - 使用 iText 的离线 PDF 时间戳
是否可以使用 iText 或任何其他组件离线为 PDF 文档添加时间戳?
我已经使用 iText 和 TSAClient 类搜索了标准解决方案,但它需要 TSA 作为在线服务。我们有来自 TSA 的证书(包括私钥),其目的是创建时间戳签名,但我找不到任何技术方法如何使用 iText 进行操作。
感谢您的任何指导。里士满
java - Java中带有时间戳的数字签名
我在使用受信任的时间戳使用 Bouncy Castle 创建有效的 CMS 签名时遇到问题。签名创建效果很好(我想将签名包含在 PDF 文件中),签名有效。但是在我在签名的未签名属性表中包含受信任的时间戳后,签名仍然保持有效,但阅读器报告签名包含嵌入的时间戳但它是无效的。这让我相信,我时间戳的哈希值不是正确的,但我似乎无法弄清楚它有什么问题。
签名代码:
createTSToken
代码:
timestampData
:
谢谢你的帮助!
示例文件:
使用 LTV 签名的 PDF - 已编辑
java - 同时签名和时间戳VS稍后签名和时间戳
我正在构建一个必须符合欧盟数字签名指令的数字签名模块。
我从一个旧的但运行良好的 Java 模块开始以CAdES
格式对文档进行签名。此外,该应用程序由客户端(桌面 JAR 可执行文件)和服务器部分组成。客户端仅被开发用于与连接到 USB 读卡器的智能卡进行交互,其余的发生在 Web 服务器上。
当前的签名客户端支持两种对文件进行签名和时间戳记的方式:我可以使用“签名和时间戳记”功能,或者我可以先对文档进行签名,然后再为其添加时间戳记。
从法律的角度来看,两者都产生相同的结果。
我的问题是:从技术的角度来看,当我用 CAdES 签署文件(RFC 5126,140 页我无法全部阅读)时,输出文件是否正确,当我使用组合的“符号和时间戳”功能或按顺序使用这两个功能?
让我换个说法:根据标准是否不可能有一个既代表数字签名又代表时间戳的附件?标准是否要求对已签名的文件加时间戳,反之亦然?
我想要实现的是在客户端签署文档(使用智能卡),然后在服务器上为文件添加时间戳(不接触旧的客户端代码)并产生与我在客户端上对文件进行签名和时间戳相同的确切结果。
pdf - 使用 Adobe Acrobat XI 无法查看 PDF 中的有效时间戳
我正在尝试使用来自 SVN 和 Acrobar Reader 的 iText 验证 LTV PDF 文档中的时间戳,我的代码是动作 2ed 中 iText 的样板。iText 很乐意验证它,但 Acrobar Reader 说时间戳无效。timeStamp 服务使用 SHA256 摘要算法,我看到了一些我在其他时间戳服务中没有看到的东西;证书的扩展使用显示比时间戳更多的使用,并且 CRL url 和 OSCP url 都被破坏了,这可能是错误的原因吗?我在下面放了一个指向 PDF 的链接
非常感激,
android - 如何在数字签名中实现时间戳
以下是我生成签名的代码片段:
签名工作正常,但目前我想实现一个时间戳功能,这会导致签名有时会在 30 天后过期。但是,我没有处理时间戳的经验,我也找不到解释得足够好的示例或教程。因此,我想询问有关如何开始的链接/解释/教程!如果可能的话,我可以使用的代码片段!提前致谢!
digital-signature - 有谁知道免费(试用)时间戳服务器服务?
想知道是否有人知道任何免费(试用)时间戳服务器服务。我想在 itext 中测试时间戳功能。就像我出于测试目的使用 Start Com 1 类作为免费 CA 一样。希望我说清楚了。希望有人知道一个地方谢谢
java - 客户端中已生成文件哈希的时间戳请求
我需要向大型数据文件的 tsa 发出时间戳请求,因此我正在使用 javscript crypto-js 在客户端中生成哈希。
当我稍后在java中尝试发出请求时,问题就来了。显然,TimeStampRequestGenerator.generate 方法需要一个 byte[] 参数,在示例中我可以看到它是从文件内容生成的 MessageDigest 对象,我找不到仅使用已经生成的哈希的方法。
是否可以仅使用已生成文件的哈希来发出请求?
谢谢
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 文件中?