根据 PHP 中现有的 XML 签名创建正确的 PKCS7/CMS (ASN.1)
Create a correct PKCS7/CMS (ASN.1) from existing XML Signature in PHP
我有一个 XML 数字签名,(xmlns="http://www.w3.org/2000/09/xmldsig
),我想将其转换为 PKCS7 签名。
我相信我必须使用 ASN.1 编码器,例如 https://github.com/FGrosse/PHPASN1,但我无法理解如何使用它创建有效的 pkcs7/asn.1 签名。
这可能吗?
没有。不可能的。
在进行XML签名时,私钥正在对数据编码进行签名(编码在XML)。
您可以将此 XML 签名中包含的信息放入 PKCS7 签名(在 ASN.1 中编码)。
但是,这些数据的编码会有所不同,因此签名将无效。
我有一个 XML 数字签名,(xmlns="http://www.w3.org/2000/09/xmldsig
),我想将其转换为 PKCS7 签名。
我相信我必须使用 ASN.1 编码器,例如 https://github.com/FGrosse/PHPASN1,但我无法理解如何使用它创建有效的 pkcs7/asn.1 签名。
这可能吗?
没有。不可能的。
在进行XML签名时,私钥正在对数据编码进行签名(编码在XML)。
您可以将此 XML 签名中包含的信息放入 PKCS7 签名(在 ASN.1 中编码)。 但是,这些数据的编码会有所不同,因此签名将无效。