第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 C# 中對(duì)沒有 BOM 前導(dǎo)碼的簽名 xml 文件進(jìn)行 UTF8 編碼

如何在 C# 中對(duì)沒有 BOM 前導(dǎo)碼的簽名 xml 文件進(jìn)行 UTF8 編碼

C#
米脂 2023-07-23 13:58:35
我有一個(gè)對(duì)我的 xml 文件進(jìn)行簽名的函數(shù),該文件采用 utf-8 編碼,但是當(dāng)我應(yīng)用該符號(hào)時(shí),它顯示“utf-8 with Boom”(錯(cuò)誤版本),我如何正確保存文件private static void FirmarDocumentoComplemento(string pathXmlDocument, string pathCert, string passCert, string pathXmlSignet, string ruta, string rut, string fecha, string tipo){    XmlDocument documentXml = new XmlDocument();    documentXml.Load(pathXmlDocument);    SignedXml firmado = new SignedXml(documentXml);    var cert = RSA_helper.GetX509Certificate(pathCert, passCert);    firmado.SigningKey = (RSA)cert.PrivateKey;    firmado.SignedInfo.SignatureMethod = "http://www.w3.org/2000/09/xmldsig#rsa-sha1";    //digest info    Reference reference = new Reference();    reference.Uri = "";    reference.DigestMethod = "http://www.w3.org/2000/09/xmldsig#sha1";    firmado.AddReference(reference);    // with the public key will be added in the signature part.     KeyInfo keyInfo = new KeyInfo();    keyInfo.AddClause(new RSAKeyValue((RSA)cert.PrivateKey));    keyInfo.AddClause(new KeyInfoX509Data(cert));    firmado.KeyInfo = keyInfo;    firmado.ComputeSignature();    XmlElement xmlDigitalSignature = firmado.GetXml();    // buscamos el ultimo elemento del documento para agregarle la firma    XmlElement elemento = (XmlElement)documentXml.SelectSingleNode(@"//datos_complementarios_declaracion_ingreso/representantes[last()]");    XmlNode parent = elemento.ParentNode;    parent.InsertAfter(xmlDigitalSignature, elemento);    string ruta_completa = ruta + rut + " - " + tipo + " - " + fecha + " - N - " + "Complemento Firmado.xml";    documentXml.Save(ruta_completa);}
查看完整描述

1 回答

?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超9個(gè)贊

XmlWriterSettings?settings?=?new?XmlWriterSettings();
settings.Indent?=?true;
settings.Encoding?=?new?UTF8Encoding(false);string?ruta_completa?=?$"{ruta}{rut}?-?{tipo}?-?{fecha}?-?N?-?Complemento?Firmado.xml";

XmlWriter?writer?=?XmlWriter.Create(ruta_completa,?settings);
doc.Save(writer);

您應(yīng)該使用XmlTextWriter的實(shí)例編寫文檔,并在其構(gòu)造函數(shù)中傳遞一個(gè)XmlWriterSettings實(shí)例,其中您將Encoding屬性顯式設(shè)置為不帶 BOM 前導(dǎo)碼的UTF8Encoding實(shí)例



查看完整回答
反對(duì) 回復(fù) 2023-07-23
  • 1 回答
  • 0 關(guān)注
  • 224 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)