我想签署我的 xml 文件,以便我提供给他们的人可以确定他们没有被篡改,并且我保证这些是我的 XML 文件。我正在使用 xmlseclib(似乎可以工作的 php)。我有一些问题希望你能帮我回答:
在库中,我发送了一个私有 RSA 密钥和一个证书。我应该如何处理证书?如果我使用为我的 https 服务器购买的证书,它的有效期仅为 1 年?我希望我签署的文件永远有效。我应该生成自己的证书吗?我如何在openssl中做到这一点?
有人可以给我概述一下 ds:SignatureValue、ds:DigestValue 和 ds:X509Certificate 的内容以及它们的使用方式吗?
我的自动添加标签:
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml- exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<ds:Reference>
<ds:Transforms>
<ds:TransformAlgorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>WHAT_GOES_HERE</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>WHAT_GOES_HERE</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>WHAT_GOES_HERE</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
谢谢