如何在PHP中实现数字签名


How to implement Digital Signature in PHP

我必须在PHP中打印为PDF的证书中实现数字签名。

需求类似于授权人员(如注册商或子注册商)对证书进行数字签名。实现数字签名背后的基本思想是要知道:

  1. 是由被授权人数字签名的证书,是被授权人或其他没有权限的人创建的证书。

  2. 注册商/子注册商对证书进行数字签名后证书是否有任何变化(以阻止伪造)

  3. 文件是什么时候签署的,或者是什么时候修改的。

我在这个话题上搜索了很多,一无所获,甚至没有任何教程可以指导我如何做到这一点。我以前从未听说过这个,但根据要求我必须这样做。所以请有人指导我或帮助我如何在PHP中实现这个

有一些可用的软件库可以使您对PDF文件进行数字签名。文本是一种,但还有很多其他的。

然而所有的库都有一个共同的问题:保护签名人的数字证书,特别是证书的私钥。

如果签名的PDF将被审计或提交给一个依赖方(收件人),该依赖方(收件人)想要确保PDF确实是由据称已签名的人签名的,那么数字证书(和签名系统)必须是QSCD——合格的签名创建设备。(同样想法的旧名称是SSCD,"安全签名创建设备")

智能卡是创建qsd的旧方法。更现代的方法是使用集中式签名设备。我的公司DocuSign制作了一个带有API的QSCD,其他人也这样做。