问题标签 [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 投票
1 回答
57 浏览

c# - 如何向 TSP 发布的现有数字签名添加嵌入式时间戳

我正在尝试使用 .pdf 文档的嵌入式时间戳实现 PAdES 数字签名。即,我想要实现的目标:

带有嵌入时间戳的 DDS

我正在使用执行 DDS 的受信任的提供者(TSP;外部方),因此我无权访问 TSP 用来签署消息摘要的私钥(.pfx 证书)。我一直在使用GemBox的 .NET 类库,并成功地使用以下函数将数字签名添加到 .pdf 文件中:

我为参数“签名者”(参见上面的函数)传入另一个函数,该函数简单地从 TSP 提供者调用一个端点,该端点返回移动签名(作为字节 [])。然后签名成功添加 .pdf 文件(使用 GemBox 的签名过程):

没有嵌入时间戳的 DDS

现在我需要在签名中添加嵌入式时间戳,但由于 DDS 来自外部方,我不确定如何实现这一点。我遇到的所有代码示例都假设您拥有 .pfx 证书,即 DDS 与时间戳一起执行(参见例如此处),在我的情况下,我必须向我的 TSP 提出要求以提供我的 DDS 包含来自受信任的提供商的时间戳。

我希望有人可以在这里指出正确的方向并向我解释这是否真的可行,即在从外部方填充 DDS 时添加嵌入式时间戳。请注意,如果需要,我愿意探索其他 .NET 库,即 GemBox 以外的库。但是,我发现该库对于其他用途也非常有用。

提前致谢!