Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中使用数字签名对xml和pdf进行签名_Php_Xml_Digital Signature - Fatal编程技术网

如何在php中使用数字签名对xml和pdf进行签名

如何在php中使用数字签名对xml和pdf进行签名,php,xml,digital-signature,Php,Xml,Digital Signature,有人可以告诉我如何在php中实现这一点,我有一个.cert文件和rsa密钥,需要从发票中签名到xml。还需要签署一份pdf文件,有什么想法吗? Thx似乎没有PHP唯一的方法可以根据XMLDSig和PDF标准对XML和PDF进行签名,尽管您可以使用带有OpenSSL函数的PKCS7进行签名 如果您需要XMLDSig和PDF签名,最好的选择是为您的平台创建一个可执行文件,并以某种方式从PHP调用它 在我们的SecureBackbox产品中,我们正在开发PHP版本,但它将是本机.dll/.so库的包

有人可以告诉我如何在php中实现这一点,我有一个.cert文件和rsa密钥,需要从发票中签名到xml。还需要签署一份pdf文件,有什么想法吗?
Thx

似乎没有PHP唯一的方法可以根据XMLDSig和PDF标准对XML和PDF进行签名,尽管您可以使用带有OpenSSL函数的PKCS7进行签名

如果您需要XMLDSig和PDF签名,最好的选择是为您的平台创建一个可执行文件,并以某种方式从PHP调用它


在我们的SecureBackbox产品中,我们正在开发PHP版本,但它将是本机.dll/.so库的包装,而不仅仅是PHP解决方案。原因是将大量与密码学相关的代码翻译成PHP毫无意义

在shell中运行签名过程怎么样

shell_exec("gpg --output signature.sig --sign file")
然后提供signature.sig供下载


我不明白文件类型和它有什么关系。gpg通过软件包对文件进行签名,而不考虑内容/类型/…

您可以通过PHAR文件的内置功能来完成签名。。。对于其他文件,您必须使用sha1_文件生成校验和,并使用私钥对其进行签名。之后,您可以使用公钥进行验证。请先使用搜索,并使用本网站上的询问功能仅针对具体的编程问题。谢谢