问题标签 [rfc3161]

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 投票
0 回答
69 浏览

rfc - 如何使用 RFC 3161 时间戳使 git 存储库防篡改?

我想创建一个 git 存储库,在其中可以证明每个提交(加上整个以前的历史)都存在于某个时间点,并且我希望通过使用 RFC 3161 TSA 将这个证明包含在提交中时间戳服务(例如https://gist.github.com/Manouchehri/fd754e402d98430243455713efada710)。

我找到了这篇 gwern.net/Timestamping 文章,其中使用 post-commit 钩子运行脚本来为提交哈希添加时间戳。但是,如果我正确理解了这个建议,那么 RFC 3161 令牌必须单独保存,而我希望它们成为存储库本身的一部分。

我能想到的一件事是总是创建一个不包含文件的第二个提交,并且只包含前一个提交的哈希的 RFC 3161 时间戳标记作为它的提交消息,所以它总是类似于

[数据提交] - [时间戳令牌提交] - [数据提交] - [时间戳令牌提交] ...

但是我需要服务器上的 git 存储库只接受遵循此结构的推送(并且在接受推送之前需要验证时间戳记号)。

我怎么能这样做?或者是否有更简单(甚至可能是标准化)的方式来实现这一目标?

0 投票
1 回答
378 浏览

openssl - OpenSSL:如何从 RFC3161 时间戳回复中提取证书和令牌状态?

使用 openssl ts ( https://www.openssl.org/docs/man1.1.0/man1/openssl-ts.html ) 我可以创建 TS 查询、回复、从回复中提取令牌并验证令牌(如果我有签名证书DER 格式)的 RFC3161 格式,如下所示:https ://www.ietf.org/rfc/rfc3161.txt

要获得令牌,我可以这样做:

我还可以使用 openssl ts -reply -in response.tsr -text 以人类可读的形式打印响应

要验证令牌,我需要提供参数

问题一:

为什么这只需要信任锚(=自签名)证书而不是整个链到 TSA 证书(或者 -verify 仅适用于证书链已包含在令牌中的令牌)?

问题2:

如果我在第一个 openssl 调用中指定 -cert 参数,则 token.tk 将更长,并且还包含用于对其进行签名的证书。如何从 token.tk 中提取该证书?

问题 3:

当我请求包含证书的响应时,我很惊讶 token.tk 变得更长(我假设只有 response.tsr 变得更长,而不是令牌本身),因为规范指定了 TimeStampToken ,如下所示:

那么,签名证书存储在哪里?它是扩展名吗?还是它是 ContentType 标识符的一部分?

问题4:

如果我确实指定了 -cert 参数,我如何从 token.tk 中提取文件 token_stripped.tk,以便 token_stripped.tk 与创建没有 -cert 参数的请求相同?

问题 5:

如何从 response.tsr 中提取 PKIStatus(在链接规范中指定)(最好不首先将其转换为人类可读的形式)?

0 投票
0 回答
66 浏览

php - 时间戳 PHP PDF

我们正在尝试制作一个签名并带有时间戳的 pdf。问题是当我们想将时间戳附加到 pdf 时,我们找不到太多关于它的信息,我们使用 TCPDF 库但不推荐使用 applyTSA 方法。

用setSignature附加签名是没有问题的,我们不清楚的是如何附加时间戳。我们有一个 .tsr .tsq 文件,我的问题是我们是否在 base64 中对其进行编码并添加它,或者我们究竟做了什么。

谢谢,欢迎提供任何信息。

0 投票
1 回答
23 浏览

jmeter - Jmeter 生成 HTTP TimeStampRequest RFC3161

我想使用 Jmeter 生成标准 RFC3161 中介绍的 HTTP TimeStampRequests “application/timestamp-query”。目前我正在使用 Java 程序来做到这一点,但我想通过使用 Jmeter 功能来改进它。

有可能吗?