Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用X509DATA和RSAKeyValue验证xml签名_C#_Xml_Cryptography_Rsa_Digital Signature - Fatal编程技术网

C# 使用X509DATA和RSAKeyValue验证xml签名

C# 使用X509DATA和RSAKeyValue验证xml签名,c#,xml,cryptography,rsa,digital-signature,C#,Xml,Cryptography,Rsa,Digital Signature,我有一个程序需要验证xml签名,我没有遇到任何问题,直到一个提供者向我发送了一个格式奇怪的xml,我的代码无法验证它的签名 public bool Validate(XmlDocument p_doc) { XmlNamespaceManager l_nsManager = new XmlNamespaceManager(new NameTable()); l_nsManager.AddNamespace("ds", "http://www.w3.org/

我有一个程序需要验证xml签名,我没有遇到任何问题,直到一个提供者向我发送了一个格式奇怪的xml,我的代码无法验证它的签名

public bool Validate(XmlDocument p_doc)
    {
        XmlNamespaceManager l_nsManager = new XmlNamespaceManager(new NameTable());
        l_nsManager.AddNamespace("ds", "http://www.w3.org/2000/09/xmldsig#");
        XmlElement l_signatureElement = p_doc.SelectSingleNode("//ds:Signature", l_nsManager) as XmlElement;
        SignedXml l_signed = new SignedXml(p_doc);
        l_signed.LoadXml(l_signatureElement);
        return l_signed.CheckSignature();
    }
方法CheckSignature返回false,我知道它是一个有效的文档。 我正在尝试验证的xml:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><EnvioCFE_entreEmpresas xmlns="http://cfe.dgi.gub.uy" xmlns:ns2="http://www.w3.org/2001/04/xmlenc#" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://cfe.dgi.gub.uy EnvioCFE_entreEmpresasv1.32.xsd"><Caratula version="1.0"><RutReceptor>211162510010</RutReceptor><RUCEmisor>213217030011</RUCEmisor><Idemisor>58653</Idemisor><CantCFE>1</CantCFE><Fecha>2014-10-27T09:02:01.184-03:00</Fecha><X509Certificate>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</X509Certificate></Caratula><ns2:CFE_Adenda xmlns="http://tilsor.com.uy/#StringAdenda" xmlns:ns2="http://cfe.dgi.gub.uy" xmlns:ns3="http://www.w3.org/2001/04/xmlenc#" xmlns:ns4="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://cfe.dgi.gub.uy CFEEmpresas_v1.20.xsd"><CFE xmlns="http://cfe.dgi.gub.uy" xmlns:ns2="http://www.w3.org/2001/04/xmlenc#" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://cfe.dgi.gub.uy CFEDGI_v1.19.xsd"><eFact><TmstFirma>2014-10-20T08:56:38.167-03:00</TmstFirma><Encabezado><IdDoc><TipoCFE>111</TipoCFE><Serie>A</Serie><Nro>20003</Nro><FchEmis>2014-10-16</FchEmis><PeriodoDesde>2014-06-30</PeriodoDesde><PeriodoHasta>2015-06-30</PeriodoHasta><FmaPago>1</FmaPago></IdDoc><Emisor><RUCEmisor>213217030011</RUCEmisor><RznSoc>Royal &amp; SunAlliance (Uruguay) S.A.</RznSoc><NomComercial>Royal &amp; SunAlliance Uruguay SA</NomComercial><GiroEmis>Seguros</GiroEmis><Telefono>29170505</Telefono><CorreoEmisor>dgi_cfe@uy.rsagroup.com</CorreoEmisor><EmiSucursal>RSA UY</EmiSucursal><CdgDGISucur>1</CdgDGISucur><DomFiscal>Sarandi 620</DomFiscal><Ciudad>Montevideo</Ciudad><Departamento>Montevideo</Departamento></Emisor><Receptor><TipoDocRecep>2</TipoDocRecep><CodPaisRecep>UY</CodPaisRecep><DocRecep>211162510010</DocRecep><RznSocRecep>PUNTO LUZ S.A.</RznSocRecep><DirRecep> SORIANO 1032</DirRecep><CiudadRecep>MONTEVIDEO</CiudadRecep><DeptoRecep>MONTEVIDEO</DeptoRecep><CP>0</CP></Receptor><Totales><TpoMoneda>UYU</TpoMoneda><TpoCambio>1.0000</TpoCambio><MntNoGrv>0.00</MntNoGrv><MntExpoyAsim>0.00</MntExpoyAsim><MntImpuestoPerc>0.00</MntImpuestoPerc><MntIVaenSusp>0.00</MntIVaenSusp><MntNetoIvaTasaMin>0.00</MntNetoIvaTasaMin><MntNetoIVATasaBasica>14754.10</MntNetoIVATasaBasica><MntNetoIVAOtra>0.00</MntNetoIVAOtra><IVATasaMin>10</IVATasaMin><IVATasaBasica>22</IVATasaBasica><MntIVATasaMin>0.00</MntIVATasaMin><MntIVATasaBasica>3245.90</MntIVATasaBasica><MntIVAOtra>0.00</MntIVAOtra><MntTotal>18000.00</MntTotal><MntTotRetenido>0.00</MntTotRetenido><CantLinDet>1</CantLinDet><MontoNF>0.00</MontoNF><MntPagar>18000.00</MntPagar></Totales></Encabezado><Detalle><Item><NroLinDet>1</NroLinDet><IndFact>3</IndFact><IndAgenteResp>R</IndAgenteResp><NomItem>DEDUCIBLE AUTOMOVILES/FLOTAS</NomItem><DscItem>POLIZA 619064</DscItem><Cantidad>1</Cantidad><UniMed>Unid</UniMed><PrecioUnitario>14754.10</PrecioUnitario><DescuentoPct>0.00</DescuentoPct><DescuentoMonto>0.00</DescuentoMonto><RecargoPct>0.00</RecargoPct><RecargoMnt>0.00</RecargoMnt><MontoItem>14754.10</MontoItem></Item></Detalle><DscRcgGlobal></DscRcgGlobal><MediosPago><MedioPago><NroLinMP>1</NroLinMP><GlosaMP>EFECTIVO</GlosaMP><ValorPago>18000.00</ValorPago></MedioPago></MediosPago><Referencia></Referencia><CAEData><CAE_ID>90140013992</CAE_ID><DNro>1</DNro><HNro>25000</HNro><FecVenc>2016-06-16</FecVenc></CAEData></eFact><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" >
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/1999/REC-xpath-19991116">
<ds:XPath>
not(ancestor-or-self::ds:Signature)
</ds:XPath>
</ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>Z1wbJ/j3XZ9IuC1d4SYnq2Y7pjE=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
de1w5zlI7BdJjdBpvTR/0aaDmonR7ICEVNEjvJDGk6MsvI8vs93M+wXIDcKJvm5RuRlrlR7W0TGY
8xP1WuiChOcAl5Fje9ExrvS1HPc+5NsguDFwGCBRWxs1gZP8coTkH596/cYsscM1I7XexoRLXHWS
TdghDNUJv7vNVQFTTXU=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509IssuerSerial>
<ds:X509IssuerName>CN=Correo Uruguayo - CA,OU=SERVICIOS ELECTRONICOS,O=ADMINISTRACION NACIONAL DE CORREOS,C=UY</ds:X509IssuerName>

<ds:X509SerialNumber>99998921932968755343991161283803277349</ds:X509SerialNumber>
</ds:X509IssuerSerial>
</ds:X509Data>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>qhNCuOvb7x4Yr/0UAhvGG4TkgDc4G8zraH4KD6Rzm57npoGRpmFui+4ZcH/FxLVY906jkmn6YEEbu4O3CGep3/D9h60WAwSe29lDNyPVRNfnTy+syM9z+vVhwF5jqR3Eor1RuzkKqULPxWb45+KVq0dC/qsCQ9tMTQruWP/VIo0=</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature></CFE><ns2:Adenda><data>PGRzQ0ZFIHhtbG5zPSJodHRwOi8vY2ZlLmRnaS5ndWIudXkiPg0KICA8ZGF0b3NBZGVuZGE+DQogICAgPGxleWVuZGFzPg0KICAgICAgPGNvbnN0YW5jaWFJVkE+SVZBIGFsIGTDrWE8L2NvbnN0YW5jaWFJVkE+DQogICAgICA8cmVzb2x1Y2lvbj5SZXMuIDY5NS8yMDE0PC9yZXNvbHVjaW9uPg0KICAgICAgPHZlcmlmaWNhckNvbXByb2JhbnRlPlB1ZWRlIHZlcmlmaWNhciBjb21wcm9iYW50ZSBlbiBodHRwczovL3d3dy5lZmFjdHVyYS5kZ2kuZ3ViLnV5LzwvdmVyaWZpY2FyQ29tcHJvYmFudGU+DQogICAgPC9sZXllbmRhcz4NCiAgICA8ZGF0b3NFeHRyYVJTQT4NCiAgICAgIDxyZWZEb2M+NzY2MDI0NjwvcmVmRG9jPg0KICAgIDwvZGF0b3NFeHRyYVJTQT4NCiAgPC9kYXRvc0FkZW5kYT4NCjwvZHNDRkU+</data></ns2:Adenda></ns2:CFE_Adenda></EnvioCFE_entreEmpresas>
2116250102132170300115865312014-10-27T09:02:01.184-03:00MIIF1zCCA7+GawibagiqqSxGTWfFuntXrvmlrojtanbgKQhkig9W0BaqufadB6mqwqyDvqgGewjvTermCKga1EcgwiqwU5Ju1Sqw1Sqw9SukVpUkVpUkVpUzEkVpUzFg0Ga1WwWwWwW0VgW0VgW0VgW0VgW0VgW0VgW0VgW0VgW0VgW0VgWgWgWgW0VgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWgWg2.2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 D9h60WAwSe29lDNyPVRNfnTy+syM9z+VVHWF5JQR3EOR1RUZKKKQULPXWB45+KVq0dC/qsCQ9tMTQruWP/VIO0CAWAWAWAEWAGGIMGI1DEQRBMFMGOALYKWBAGCNXQCA6AQDCHJREUYNTC2MJE9KT1JHRBSQVVMIBTLPFUKFMU0VDQ0WYWW5ZXJJJJ0HQQ1QB3JJWYB5WYWYWWW56ZXJHQH5LJJJJJWYWYBJJ5LZYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYBYG/WKKKKKKKKKKKKKKKKKKKKKK2.这个词的意思意思意思是一个单词的意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思意思CJ+/9Q6gPRT8月2日,2月8日,2月8日,2月8日,8月6日,8月6日,8月6日,8月6日,8月6日,8月3日,6月3日,3月6日,6月6日,2月2日,2月8日,2月2日,2月2日,2月2日,8日,2月2日,2月2日,6日,2月2日,6日,2月2日,6日,6日,2月6日,6日,2月6日,8日,8日,8日,6日,6日,6日,6日,6月6月6日,8日,6日,8日,8日,8日,8日,8日,8日,8月6日,8日,8日,8日,8月8日,8日,8日,8日,8日,GGGGGGGGGGGGGGGGGGGGJBRWM2R65DBUFSNHVIWG9(2)UUX8(8)是一个非常有意思的vvvvvvvvvvvvvvvvvvvvvvv8(8)vvvvvvvvv8(8)vvvv8(8)vvvvvv6(8)vv6(8)v6(8)v6(8)v6(8)v8)v8(8)v8)v8(8)v8)v8)v8(8)v8)v8)v8)v8(8)v8)v8(8)v8)v8)v8)v8(8)v8)v8(8)v8)v8)v8(8)v8)v8)v8(8)v8)v8)v8)v8(8)v8)v8)v8)v8)v8)v8)v8)v8)v8)v8)v8)v8)v8 10-20T08:56:38.167-03:00111A200032014-10-162014-06-302015-06-301213217030011皇家和;SunAlliance(乌拉圭)S.A.Royal&;SunAlliance乌拉圭SASeguros29170505dgi_cfe@uy.rsagroup.comRSAUY1Sarandi 620蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚蒙地亚6190641Unid14754.100.000.000.000.0014754.101EFECTIVO18000.00901400139921250002016-06-16
非(祖先或自身::ds:Signature)
Z1wbJ/j3XZ9IuC1d4SYnq2Y7pjE=
DE1W5ZLI7BDJDBPVTR/0aaDmonR7ICEVNEjvJDGk6MsvI8vs93M+WXIDCKJVM5RURLR7W0TGY
8xP1WuiChOcAl5Fje9ExrvS1HPc+5NsguDFwGCBRWxs1gZP8coTkH596/cYsscM1I7XexoRLXHWS
TDGHDNUJV7VNVQFTXU=
CN=Correo乌拉圭-CA,OU=SERVICIOS ELECTRONICOS,O=CORREOS国家管理局,C=UY
99998921932968755343991161283803277349
QHNCOUVB7X4YR/0UAhvGG4TkgDc4G8zraH4KD6Rzm57npoGRpmFui+4ZcH/FxLVY906jkmn6YEEbu4O3CGep3/D9h60WAwSe29lDNyPVRNfnTy+syM9z+vVhwF5jqR3Eor1RuzkKqULPxWb45+KVq0dC/qsCQ9tMTQruWP/VIo0=
AQAB
2.中国的一个中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一家中国的一UZ3VILNV5LZWVDmVyaWZpY2FyQ29tcHJvYmFudGU+DQOGIIDCAPC9SZXLLBMRHCZ4NCIAGICA8ZGF0B3NFEHRYVJT4NCIAGICAGIDXYZWZB2M+NZY2MDI0NJWVCMRG9JPG0KICAGIDWZGF0B3NFEHRYVJT4NCIAGPC9KYRVC0FKZW5KYT4NCJWWVZHNDRKU+

提前感谢您的任何意见或建议

您会发现哪些错误?哪条线路出故障了?看看如何在上提出好的问题,否则您的问题可能会被关闭。没有例外,当我知道这是一个有效的文档时,方法CheckSignature()返回false。@MartinDaFonte您曾经找到过这个问题的解决方案吗?