问题标签 [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.
json - 有没有办法使用 JSON 格式执行数字签名?与 XadES 类似,但更简单
我正在签署文件并使用 XadES-T 格式添加时间戳印章。我认为 JSON 格式会简化签名和验证过程,有没有办法签署文档并在 JSON 中添加时间戳印章?
digital-signature - Signtool.exe /dg /ds /di 选项和时间戳
我们正在使用 signtool.exe 摘要选项优化数字签名过程。到目前为止,工作流程如下所示:
- 在客户端上创建摘要:signtool.exe sign /f cert /fd sha256 /dg 。我的文件.dll
- 将MyFile.dll.dig摘要发送到我们的签名服务器。
- 签名服务器上的签名摘要:signtool.exe sign /f cert /fd sha256 /ds MyFile.dll.dig
- 将签名MyFile.dll.dig.signed发送回客户端。
- 在客户端创建签名:signtool.exe sign /di .MyFile.dll
- 在客户端添加时间戳:signtool.exe timestamp /tr http://some_timestamp_server /td sha256 MyFile.dll
有没有办法在签名服务器上执行时间戳?
trusted-timestamp - 可以将粗略时间用作时间戳权限吗?
roughtime协议现在提供了一个安全的时间戳。它可以用作时间戳权威,签署文件并在以后证明它在某个时间之前存在吗?
ssl - HTTP 上的时间戳签名是否容易受到攻击?
我正在使用 signtool 签署我的 Windows 二进制文件并使用 Digicert 的时间戳服务器http://timestamp.digicert.com
我注意到大多数时间戳服务器都托管在 HTTP 上。不比HTTPS安全吗?
时间戳响应是否已签名,signtool 是否验证响应未被篡改?
ssl - 如何验证文件的 SSL 时间戳
我想获得记录照片时间的外部证据。我正在考虑为此使用 ssl 时间戳和公共时间戳权威。它不能确切地证明照片是什么时候拍摄的,但可以证明照片在创建 TSA 签名的时间点存在,这足以满足我的需要。
我找到了 [本指南] ( https://www.freetsa.org/index_en.php )。说我想要时间戳的文件是image.png
- 生成文件的哈希。
openssl ts -query -data image.png -no_nonce -sha512 -out image.tsq
- 从 freetsa.org 获取签名的时间戳,例如:
curl -H "Content-Type: application/timestamp-query" --data-binary '@image.tsq' https://freetsa.org/tsr > image.tsr
然后我可以验证image.tsr
(两者都是从 freetsa.org 下载的):cacert.pem
tsa.crt
openssl ts -verify -in image.tsr -queryfile image.tsq -CAfile cacert.pem -untrusted tsa.crt
当我想验证图像文件本身时,问题就来了,但失败了:
openssl ts -verify -in image.tsr -data image.png -CAfile cacert.pem
我是签名和时间戳过程的新手,想了解我在这里做错了什么。
timestamp - 使用 PDFBox 为 PDF 签名添加时间戳时包括时间戳权限
我正在尝试使用 PDFBox 1.8.9 在 PDF 文档上的签名中添加时间戳。我收到错误消息说无法验证时间戳,当我尝试检查时间戳颁发机构的证书时,它显示为“不可用”。
这是我在实现 SignatureInterface 的类中的方法签名,它调用方法 SignTimeStamps
SignTimeStamps 方法为每个 SignerInfo 调用方法 SignTimeStamp
然后我们从 SignerInfo 中获取签名,这是我们的 TimeStampToken 的消息印记,如 RFC 3161 的附录 A 中所述
所以我不确定我做错了什么,我该怎么做才能验证时间戳并且时间戳权限显示为可用?
编辑 这是我签署的 PDF 文件的链接https://www.dropbox.com/s/al3h8lorqisi34q/dummy_signed.pdf?dl=1。TSA 是免费的 TSA ( http://time.certum.pl/ )
编辑 2
这是我的 TSAClientBouncyCastle.cs 文件
编辑最终(解决方案)
感谢大家帮助我,正如 Tilman Hausherr 指出的那样,我根本没有对签名进行哈希处理。我换了
在我的 SignTimeStamp 方法中
我现在可以看到时间戳权限。再次非常感谢您!
pdf-generation - 如何在 Adobe 的 RevInfoArchival 属性中包含 PDF 签名的嵌入式时间戳授权链撤销信息以用于 LTV 目的?
我正在尝试使用 Apache 的 PDFBox Detached Signature 和用于加密签名本身的 BouncyCastle API 创建启用 LTV 的 PDF 签名。
到目前为止,我能够按照以下步骤使 Adobe Reader 显示“Signature is LTV enabled”消息:
检索签名证书的完整链和时间戳授权证书的完整链(用于在步骤 #4 中添加签名的时间戳)的撤销信息(CRL 和 OCSP 响应,当然根证书除外)
包括在步骤 #1 中检索到的撤销信息作为签名属性,以 Adobe OID“1.2.840.113583”格式计算:
执行签名
在第 3 步生成的签名中嵌入一个合格的时间戳
前面步骤的输出在 Adobe Reader 中为我提供了“LTV 已启用”状态:
当我检查 Adobe Reader 用于验证证书链有效性的数据时,它会显示预期的“所选证书被认为是有效的,因为它没有被撤销,因为它使用嵌入在签名中的在线证书状态协议 (OCSP) 响应进行了验证。 "
但是,当我对时间戳权威的证书链执行相同的检查时,它会显示“所选证书被认为是有效的,因为它没有被撤销,因为它没有被撤销,因为它使用在线获得的在线证书状态协议 (OCSP) 进行了实时验证。”
签名者的链嵌入式 CRL/OCSP 被成功使用,但嵌入式 TSA 的链 CRL/OCSP 没有成功使用。
这就引出了一些需要回答的问题:
- 为什么不使用 TSA 嵌入式 CRL/OCSP?
- 我必须将它们放在其他地方吗?如果有,在哪里?
- 或者我是否必须要求时间戳授权将 CRL 和/或 OCSP 响应作为时间戳令牌中的签名属性返回?
trusted-timestamp - 免费时间戳服务器与付费时间戳服务器
我不知道免费时间戳服务器和付费时间戳服务器有什么区别。你能给我推荐付费时间戳服务器吗?
node.js - NodeJS中带有时间戳的数字签名
我需要使用时间戳服务器(如https://freetsa.org/tsr )验证带有时间戳的 PDF 文件的数字签名。在 Nodejs 或 Nestjs 中是否有任何用于此功能的库?