我现在看了一天,我仍然感到困惑。我想将数字签名添加到带有TSA(时间戳权威)时间戳的 PDF。
我可以将请求发送到 TSA 并接收二进制响应,但是如何将该时间戳附加到我的 pkcs7 数字签名中。
我正在使用带有 TCPDF 和openssl_pkcs7_sign()
函数的 PHP。我需要添加时间戳作为额外的证书吗?谢谢!
我现在看了一天,我仍然感到困惑。我想将数字签名添加到带有TSA(时间戳权威)时间戳的 PDF。
我可以将请求发送到 TSA 并接收二进制响应,但是如何将该时间戳附加到我的 pkcs7 数字签名中。
我正在使用带有 TCPDF 和openssl_pkcs7_sign()
函数的 PHP。我需要添加时间戳作为额外的证书吗?谢谢!
为此,我创建了一个名为phpcmstimestamper的简单库项目,您可以像这样使用它:
<?php
$originalCmsAsPem = "-----BEGIN CMS-----
MIIFiAYJKoZIhvcNAQcCoIIFeTCCBXUCAQExDTALBglghkgBZQMEAgEwHQYJKoZI
...
1lUaWopfF7uZf5LXZt2Ru5UPr+51ULJRcEeUTA==
-----END CMS-----";
$updatedCms = CmsTimestamper::addTimestampToCms($originalCmsAsPem, "http://tsa.starfieldtech.com");
您可以在https://github.com/hablutzel1/phpcmstimestamper获得更多详细信息和一个完整的工作示例。
用PHP是不可能的,怕。我会在 C++ 服务器端 pkcs#7 构建器中执行此操作。