Visual Basic.NET - Archivo xml firmado , incorporado a otro xml (Error en firma)

   
Vista:

Archivo xml firmado , incorporado a otro xml (Error en firma)

Publicado por Jeremy (8 intervenciones) el 12/08/2016 21:19:18
Hola, tengo un problema si hay alguien que sepa, se lo agradeceria ..
Tengo un archivo xml firmado, el cual tengo que agregarlo en mi archivo xml adjunto el cual tengo
que firmalo yo para enviarlo a un servidor del servicio impuesto interno de mi pais, y resulta que valida mis firmas bien, pero la de ellos al incorporala por vb.net me da error de firma de ellos y al abrila por notepad y copiarla directamente me da error en mi firma, pero pasa la de ellos. es normal eso porque agregue el codigo y mod. mi firma.

Este el archivo que leo de esta manera.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Private Function ExtraerArchivo (sPath)as string
       Dim MessageContent As String = My.Computer.FileSystem.ReadAllText(sPath)
        Dim latin1 = Encoding.GetEncoding(&H6FAF)
        Dim bytes As Byte() = latin1.GetBytes(MessageContent)
 
        Dim xmlDoc As XmlDocument = New XmlDocument()
        Using ms As New MemoryStream(Bytes)
            xmlDoc.Load(ms)
        End Using
        ExtraerArchivo = xmlDoc.InnerXml
        ExtraerArchivo = ExtraerArchivo.Replace("<?xml version=""1.0"" encoding=""utf-16""?>", "")
        ExtraerArchivo = ExtraerArchivo.Replace("<?xml version=""1.0"" encoding=""utf-8""?>", "")
        ExtraerArchivo = ExtraerArchivo.Replace("<?xml version=""1.0"" encoding=""ISO-8859-1""?>", "")
        Return ExtraerArchivo
end Function
y la inserto en mi otro xml. asi como string
1
2
3
4
5
6
7
8
9
10
11
12
13
14
'****************************************************************************************** 
Dim document As XmlDocument = New XmlDocument()
document.PreserveWhitespace = True
document.LoadXml(XML_Firmado)  'Mi documento xml en xmldocument
'******************************************************************************************
Dim navigator2 As XPathNavigator = document.CreateNavigator()
navigator2.MoveToChild("LceEnvioOblig", "http://www.sii.cl/SiiLce")
navigator2.MoveToChild("DocumentoEnvioOblig", "http://www.sii.cl/SiiLce")
navigator2.MoveToChild("LceCoCierre", "http://www.sii.cl/SiiLce")
navigator2.AppendChild(ExtraerArchivo(Me.LbRutaArchivoCal.Text))    'Insertando el documento
'******************************************************************************************
Despues firmo y envio.
El archivo generado se ve bien los datos del xml incorporado dentro.
pero al validarlo me da error en la firma incorporada en el documento.

Este es xml que esta firmado ...

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?xml version="1.0" encoding="ISO-8859-1"?>
<LceCal xmlns="http://www.sii.cl/SiiLce" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0" xsi:schemaLocation="http://www.sii.cl/SiiLce LceCal_v10.xsd">
<DocumentoCal ID="CAL_76475200-7_C_1_1_2016">
<RutDistribuidor>76475200-7</RutDistribuidor>
<TipoCertificado>C</TipoCertificado>
<Clase>1</Clase>
<TipoLCE>1</TipoLCE>
<FchEmision>2016-07-20</FchEmision>
<PeriodoVigencia>2016</PeriodoVigencia>
<TmstFirma>2016-07-20T11:53:12</TmstFirma>
</DocumentoCal>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></CanonicalizationMethod>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod>
<Reference URI="#CAL_76475200-7_C_1_1_2016">
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod>
<DigestValue>UE7IEkAwVZdVnQpqP7vX/pWS/aU=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
dRNfmUm4jBa3fpXTqZ/nzLOw1FRoGNIbMZbG3/BRKUcJR18uLHSPP5p7iMop4rmXYeNLtJzxvH2A
</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
0VIpIHKOrW/KKsuGF7OASwzVr40bgQliTFnqIJJ6vh4o5W4XF7AAnNHnqbZ/Jlis3ODrPUU3aQSu
MWjZnrJqw0U9cFH2sn4DvXbxKqpLsCrAZ9flcQ==
</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509Certificate>
MIIEejCCA2KgAwIBAgIBQTANBgkqhkiG9w0BAQUFADCBpTEUMBIGA1UEAxMLU0lJLUNBLTIwMTMx
GjAYBgNVBAcTEVNhbnRpYWdvIGRlIENoaWxlMR0wGwYDVQQIExRSZWdpb24gTWV0cm9wb2xpdGFu
SJDEN7Ewar3u62kPKDPqEVRmTc4GSfpUz4hfJPGQ2DN8j6i/dGGc4w6f4eoE63LhqwpB0f18Roye
jMnT5E15l/m/jA==
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature></LceCal>

doc Generado...Resumido
1
2
<LceEnvioOblig xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sii.cl/SiiLce LceEnvioOblig_v10.xsd" version="1.0" xmlns="http://www.sii.cl/SiiLce"><DocumentoEnvioOblig ID="EnvioOblig_11605545-7_76475200-7"><Caratula><RutEnvia>11605545-7</RutEnvia><RutContribuyente>76475200-7</RutContribuyente><TmstFirmaEnv>2016-08-12T14:16:09</TmstFirmaEnv></Caratula><LceCoCierre version="1.0">
<LceCal ......(Documento se ve = al original insertado.)...</LceCal>...................</LceEnvioOblig>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder