C# Can';使用c在签名的XML文件中读取/查找节点# String fileName=“signed_file.xml”; String filecopy=“signed\u file\u copy.xml”; File.Copy(文件名,filecopy,true); /*删除数字签名*/ XDocument doc1=XDocument.Load(filecopy); XElement signElement=doc1.subjects(“签名”).FirstOrDefault(); signElement.Remove();
signElement为null,即使已签名的\u文件\u copy.xml具有 里面有签名标签。需要帮助来了解正在发生的事情 XML中的签名标记结构如下所示C# Can';使用c在签名的XML文件中读取/查找节点# String fileName=“signed_file.xml”; String filecopy=“signed\u file\u copy.xml”; File.Copy(文件名,filecopy,true); /*删除数字签名*/ XDocument doc1=XDocument.Load(filecopy); XElement signElement=doc1.subjects(“签名”).FirstOrDefault(); signElement.Remove();,c#,xml,C#,Xml,signElement为null,即使已签名的\u文件\u copy.xml具有 里面有签名标签。需要帮助来了解正在发生的事情 XML中的签名标记结构如下所示 String fileName = "signed_file.xml"; String filecopy = "signed_file_copy.xml"; File.Copy(fileName, filecopy, true); /* Remove the digital signatur
String fileName = "signed_file.xml";
String filecopy = "signed_file_copy.xml";
File.Copy(fileName, filecopy, true);
/* Remove the digital signature */
XDocument doc1 = XDocument.Load(filecopy);
XElement signElement = doc1.Descendants("Signature").FirstOrDefault<XElement>();
signElement.Remove();
XXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
试试这个:
<Config>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm=xxxxxxxxx />
<Reference URI="">
<Transforms>
<Transform Algorithm=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz />
</Transforms>
<DigestMethod Algorithm=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy />
<DigestValue> xxxxxxxxxxx </DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</SignatureValue>
</Signature>
</Config>
您的签名
标记具有名称空间,因此必须使用它来查找元素。尝试以下操作:
<Config>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<SignatureMethod Algorithm=xxxxxxxxx />
<Reference URI="">
<Transforms>
<Transform Algorithm=zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz />
</Transforms>
<DigestMethod Algorithm=yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy />
<DigestValue> xxxxxxxxxxx </DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx</SignatureValue>
</Signature>
</Config>
您的
签名
标记有名称空间,因此必须使用它来查找元素。XML文件是否使用名称空间?显示XML或其示例XML文件是否使用名称空间?显示XML或其示例