php - 如何使用PHP对xml文档进行数字签名?

标签 php xml digital-signature

我必须将数字签名添加到XML文档中并重新创建它们。
我该怎么做?我正在使用simplexml创建xml文档。这些数字签名将由用户上传为.pfx或.p12文件。
有什么预定义的类来完成这个任务吗?
如果没有,至少我想知道哪些细节必须添加到签名的xml文档中,以及如何从数字签名文件中获取这些细节?

最佳答案

让我为许多开发人员面临的这个古老的问题添加一个新的视角,这样对于某些人登陆到这个问题上寻求解决方案是有用的。
pfx或p12文件存储私钥,不再被认为是安全的。一些国家不允许创建pfx文件,数字证书直接在加密设备(如usb令牌或智能卡)上颁发,在加密设备中,私钥在此硬件中生成,并且永不离开。数据(或者说要签名的散列)被发送到这个硬件中进行签名。因此,需要在该硬件上进行签名。
请参考我的答案https://stackoverflow.com/a/55692742/9659885以检查如何使用硬件加密设备从浏览器进行签名。

关于php - 如何使用PHP对xml文档进行数字签名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4931339/

相关文章:

java - 使用 RegEx 查找两个 XML 标记之间的所有内容

java - JAVA 和 OpenSSL CLI 中的签名不同

php - 如何在 PHP 中从数据库填充输入类型文件值?

php - 将 mysql_query() 的结果插入到同一个数据库中

php - Google Drive API V3、PHP 客户端、转移文件所有权

c# - string.replace 不工作

c# - 从 xml 向数据库中插入记录

ios - 验证 RSA 签名 iOS

ssl - TLS 1.2 ECDHE_RSA 签名

php - 使用 CDN 进行用户图像和视频上传