当我签署包含名称空间前缀和名称空间引用的XML文档然后验证它时,会出现问题.在这种情况下,验证总是失败(返回false).当我从XML中删除名称空间前缀和名称空间引用时,签名和验证工作正常.
你可以帮帮我吗 ?
这是我的代码:
SignedXml的继承类
namespace Xmldsig
{
using System;
using System.Security.Cryptography;
using System.Security.Cryptography.Xml;
using System.Xml;
public sealed class SignaturePropertiesSignedXml : SignedXml
{
private XmlDocument doc;
private XmlElement signaturePropertiesRoot;
private XmlElement qualifyingPropertiesRoot;
private string signaturePropertiesId;
public SignaturePropertiesSignedXml(XmlDocument doc)
: base(doc)
{
return;
}
public SignaturePropertiesSignedXml(XmlDocument doc, string signatureId, string propertiesId)
: base(doc)
{
this.signaturePropertiesId = propertiesId;
this.doc = null;
this.signaturePropertiesRoot = null;
if (string.IsNullOrEmpty(signatureId))
{
throw new ArgumentException("signatureId cannot be empty", "signatureId");
}
if (string.IsNullOrEmpty(propertiesId))
{
throw new ArgumentException("propertiesId cannot …Run Code Online (Sandbox Code Playgroud)