【发布时间】:2016-05-11 15:28:02
【问题描述】:
是否可以检索/解析$_SERVER['SSL_CLIENT_CERT']的信息并使用Tcpdf的setSignature()签署PDF?
在我们的网络应用中,有必要即时创建 pdf 并使用客户端证书对其进行签名。
提前致谢!
【问题讨论】:
标签: php pdf https digital-signature tcpdf
是否可以检索/解析$_SERVER['SSL_CLIENT_CERT']的信息并使用Tcpdf的setSignature()签署PDF?
在我们的网络应用中,有必要即时创建 pdf 并使用客户端证书对其进行签名。
提前致谢!
【问题讨论】:
标签: php pdf https digital-signature tcpdf
SSL_CLIENT_CERT 只有公钥,因此您无法通过这种方式签署任何内容。
要使用 X.509 证书签署某些内容,您必须有权访问其私钥。这意味着只有证书的所有者才能使用有权访问私钥的软件签署任何内容。因此,服务器无法使用用户证书进行签名。使用公钥,您将只能加密数据。
不幸的是,由于 Java 小程序在今天基本上无法使用,您将很难让它在浏览器中工作。也许PKI.js 会有所帮助,但我不知道它是否适用于硬件令牌(PKCS#11)。
最近我的任务是想出类似问题的解决方案,我在托盘中制作了一个桌面应用程序(仅适用于 Windows,使用 .NET SecureBlackbox library),它定期轮询服务器以获取要签名的文档,获取他们,签名并返回签名给服务器。
【讨论】: