C# 使用带引号的证书对xml文件进行签名

C# 使用带引号的证书对xml文件进行签名,c#,digital-signature,xml-signature,C#,Digital Signature,Xml Signature,我正在使用SignedXml(C#)对XML文件进行签名。 在我的证书中,引用了组织的名称。例如:“银行名称”。 因此,将生成以下代码: KeyInfoX509Data kiData = new KeyInfoX509Data (certificate); kiData.AddSubjectName (certificate.Subject); KeyInfo keyInfo = new KeyInfo (); keyInfo.AddClause (kiData); 生成一个XML元素,其中引

我正在使用SignedXml(C#)对XML文件进行签名。 在我的证书中,引用了组织的名称。例如:“银行名称”。 因此,将生成以下代码:

KeyInfoX509Data kiData = new KeyInfoX509Data (certificate);
kiData.AddSubjectName (certificate.Subject);
KeyInfo keyInfo = new KeyInfo ();
keyInfo.AddClause (kiData);
生成一个XML元素,其中引号重复3次:

<KeyInfo>
   <X509Data>
      <X509SubjectName> CN = bank.com, OU = IT Department, O = """BANK NAME""", L=City</X509SubjectName>
   </X509Data>
</KeyInfo>

CN=bank.com,OU=IT部门,O=“”银行名称”“,L=City

请告诉我这是正常的行为,或者引号应该以某种方式转义?

就我个人而言,我不会太担心签名的XML是否可以被解析,签名是否可以被正确验证。这感觉肯定不对;我见过很多逃避双引号的方法,但这不是其中之一。