unmarshalXMLSignature

0 respostas
J

Estou realizando um unmarshalXMLSignature de um XML recebido, conforme segue

view plaincopy to clipboardprint?

<LoteRps xmlns="" Id="lote4071"><NumeroLote>4071</NumeroLote><Cnpj></Cnpj><QuantidadeRps>1</QuantidadeRps><ListaRps><Rps><InfRps Id="RPS372456"><IdentificacaoRps><Numero>372456</Numero><Serie>001</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2014-03-19T10:00:57.143-03:00</DataEmissao><NaturezaOperacao>2</NaturezaOperacao><OptanteSimplesNacional>2</OptanteSimplesNacional><IncentivadorCultural>2</IncentivadorCultural><Status>1</Status><RpsSubstituido><Numero>372016</Numero><Serie>001</Serie><Tipo>1</Tipo></RpsSubstituido><Servico><Valores><ValorServicos>1776.03</ValorServicos><IssRetido>2</IssRetido><ValorIss>35.52</ValorIss><BaseCalculo>1776.03</BaseCalculo><Aliquota>0.0200</Aliquota><ValorLiquidoNfse>1776.03</ValorLiquidoNfse></Valores><ItemListaServico>0105</ItemListaServico><Discriminacao>Alug. Sist.   
    Referente: Marco/2014.Contratos: 017/2012 - PMLL,022/2013.  
    Vencimento da Parcela: 31/03/2014</Discriminacao><CodigoMunicipio>4209805</CodigoMunicipio></Servico><Prestador><Cnpj></Cnpj><InscricaoMunicipal>19650</InscricaoMunicipal></Prestador><Tomador><IdentificacaoTomador><CpfCnpj><Cnpj></Cnpj></CpfCnpj><InscricaoMunicipal>0</InscricaoMunicipal></IdentificacaoTomador><RazaoSocial></RazaoSocial><Endereco><Endereco>Rua Mainolvo Lehmkuhl</Endereco><Numero>20</Numero><Complemento/><Bairro>Centro</Bairro><CodigoMunicipio>4209805</CodigoMunicipio><Uf>SC</Uf><Cep>88445000</Cep></Endereco><Contato><Email>[email removido]</Email></Contato></Tomador></InfRps><Signature xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><SignedInfo xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"/><Reference URI="#RPS372456" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><Transforms xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"/><DigestValue xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">cpM++AeEBXccuQm5giEgmMmKXsM=</DigestValue></Reference></SignedInfo><SignatureValue xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">QRSijql8x2URNqELOvx1UrCco9DH5ZXqQJRS7NSHX+gzSSzaU6jsrmxTIFMMk5YRWzrIxI6V/ccU  
    lUkf0DuZqD6+CjOwVfFk/P4M+3JEAg2Xoe0r0+yAu/sWCDGcBeB5WXkCGkW1wow5YeeFQVFpbDja  
    Rl/4xPBez96vQT5/fak=</SignatureValue><KeyInfo xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><X509Data xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><X509Certificate xmlns:ns2="http://www.w3.org/2000/09/xmldsig#">MIIF9TCCBN2gAwIBAgIQMjAxMTEwMDYxMzM4MDg4NzANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE  
    BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0  
    YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEuMCwGA1UEAxMlQXV0b3JpZGFkZSBDZXJ0aWZpY2Fk  
    b3JhIGRvIFNFUlBST1JGQjAeFw0xMTEwMDYxODQyNTRaFw0xNDEwMDUxODM0MzFaMIHnMQswCQYD  
    VQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE2MDQGA1UECxMtU2VjcmV0YXJpYSBkYSBSZWNl  
    aXRhIEZlZGVyYWwgZG8gQnJhc2lsIC0gUkZCMREwDwYDVQQLEwhDT1JSRUlPUzETMBEGA1UECxMK  
    QVJDT1JSRUlPUzEWMBQGA1UECxMNUkZCIGUtQ05QSiBBMzERMA8GA1UEBxMIQ1JJQ0lVTUExCzAJ  
    BgNVBAgTAlNDMSswKQYDVQQDEyJCRVRIQSBTSVNURU1BUyBMVERBOjAwNDU2ODY1MDAwMTY3MIGf  
    MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDhx6lU2mJ03oPfUe6c0NrJYuSEGtN67Q5OmU6c0NJ  
    Zi5D0b/TKHwWFHGyG+f+scvL5EDGE3clcb5Bn7wfZM3trmAavF/jXqYGhU+RaUTu4fUxFbnsH0CL  
    1zuHErFNtE3+6nMzaKOxvMLQ6RIgWCof9mJ1EMWMaLpSqHCr45fs1QIDAQABo4ICejCCAnYwDwYD  
    VR0TAQH/BAUwAwEBADAfBgNVHSMEGDAWgBS5IouGJEbnoq3nKTuMaDtNrXSRFDAOBgNVHQ8BAf8E  
    BAMCBeAwYAYDVR0gBFkwVzBVBgZgTAECAwQwSzBJBggrBgEFBQcCARY9aHR0cHM6Ly9jY2Quc2Vy  
    cHJvLmdvdi5ici9hY3NlcnByb3JmYi9kb2NzL2RwY2Fjc2VycHJvcmZiLnBkZjCBtAYDVR0RBIGs  
    MIGpoD0GBWBMAQMEoDQEMjE5MDkxOTYxNDg2NTM0OTc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwNTM4  
    ODUwM1NTUFNDoBsGBWBMAQMCoBIEEENFU0FSIFNNSUVMRVZTS0mgGQYFYEwBAwOgEAQOMDA0NTY4  
    NjUwMDAxNjegFwYFYEwBAwegDgQMMDAwMDAwMDAwMDAwgRdmaW5hbmNlaXJvQGJldGhhLmNvbS5i  
    cjAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgagGA1UdHwSBoDCBnTAyoDCgLoYs  
    aHR0cDovL2NjZC5zZXJwcm8uZ292LmJyL2xjci9hY3NlcnByb3JmYi5jcmwwM6AxoC+GLWh0dHA6  
    Ly9jY2QyLnNlcnByby5nb3YuYnIvbGNyL2Fjc2VycHJvcmZiLmNybDAyoDCgLoYsaHR0cDovL3d3  
    dy5pdGkuZ292LmJyL3NlcnByby9hY3NlcnByb3JmYi5jcmwwTAYIKwYBBQUHAQEEQDA+MDwGCCsG  
    AQUFBzAChjBodHRwOi8vY2NkLnNlcnByby5nb3YuYnIvY2FkZWlhcy9hY3NlcnByb3JmYi5wN2Iw  
    DQYJKoZIhvcNAQEFBQADggEBAKLTCdSEFJY7sQrW0/OD7d7fG3eKvfajQr28cbliVDxug5eBQIIn  
    9Sov/TfaiuarKmRblv1cV9rOTS0uwbPaw30yJGZGz/vSe5c3Pk+ZQQQnCDhTd3Z+jXxgFFl0h/Nz  
    no5qdlDQ/tWOQjoASepFhCEXA3KMK+nPBHORipDjzAW/5+00MBhyXvmbCiKkXCJY2dgOq51Oky9Z  
    WcFFbT/bVaM0ywh9AqTaBB15EbA04frorijvm8hAUSvoICFSg7oqdUFS52q328sUabD6txMbn+i3  
    teG+SrGhCGOmvru9Rs2mexApYYi4n9ltref3HLpM96VRSC7pHFKG1qE1eR9VVDo=</X509Certificate></X509Data></KeyInfo></Signature></Rps>

Após realizar o unmarshalXMLSignature o arquivo fica conforme segue

view plaincopy to clipboardprint?

<LoteRps xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" Id="lote4071"><NumeroLote>4071</NumeroLote><Cnpj></Cnpj><QuantidadeRps>1</QuantidadeRps><ListaRps><Rps><InfRps Id="RPS372456"><IdentificacaoRps><Numero>372456</Numero><Serie>001</Serie><Tipo>1</Tipo></IdentificacaoRps><DataEmissao>2014-03-19T10:00:57.143-03:00</DataEmissao><NaturezaOperacao>2</NaturezaOperacao><OptanteSimplesNacional>2</OptanteSimplesNacional><IncentivadorCultural>2</IncentivadorCultural><Status>1</Status><RpsSubstituido><Numero>372016</Numero><Serie>001</Serie><Tipo>1</Tipo></RpsSubstituido><Servico><Valores><ValorServicos>1776.03</ValorServicos><IssRetido>2</IssRetido><ValorIss>35.52</ValorIss><BaseCalculo>1776.03</BaseCalculo><Aliquota>0.0200</Aliquota><ValorLiquidoNfse>1776.03</ValorLiquidoNfse></Valores><ItemListaServico>0105</ItemListaServico><Discriminacao>Alug. Sist.Referente: Marco/2014.Contratos: 017/2012 - PMLL,022/2013.  
    Vencimento da Parcela: 31/03/2014</Discriminacao><CodigoMunicipio>4209805</CodigoMunicipio></Servico><Prestador><Cnpj></Cnpj><InscricaoMunicipal>19650</InscricaoMunicipal></Prestador><Tomador><IdentificacaoTomador><CpfCnpj><Cnpj></Cnpj></CpfCnpj><InscricaoMunicipal>0</InscricaoMunicipal></IdentificacaoTomador><RazaoSocial></RazaoSocial><Endereco><Endereco>Rua Mainolvo Lehmkuhl</Endereco><Numero>20</Numero><Complemento></Complemento><Bairro>Centro</Bairro><CodigoMunicipio>4209805</CodigoMunicipio><Uf>SC</Uf><Cep>88445000</Cep></Endereco><Contato><Email>[email removido]</Email></Contato></Tomador></InfRps><Signature xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:ns2="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></CanonicalizationMethod><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></SignatureMethod><Reference URI="#RPS372456"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></Transform></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></DigestMethod><DigestValue>cpM++AeEBXccuQm5giEgmMmKXsM=</DigestValue></Reference></SignedInfo><SignatureValue>QRSijql8x2URNqELOvx1UrCco9DH5ZXqQJRS7NSHX+gzSSzaU6jsrmxTIFMMk5YRWzrIxI6V/ccU  
    lUkf0DuZqD6+CjOwVfFk/P4M+3JEAg2Xoe0r0+yAu/sWCDGcBeB5WXkCGkW1wow5YeeFQVFpbDja  
    Rl/4xPBez96vQT5/fak=</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIF9TCCBN2gAwIBAgIQMjAxMTEwMDYxMzM4MDg4NzANBgkqhkiG9w0BAQUFADCBijELMAkGA1UE  
    BhMCQlIxEzARBgNVBAoTCklDUC1CcmFzaWwxNjA0BgNVBAsTLVNlY3JldGFyaWEgZGEgUmVjZWl0  
    YSBGZWRlcmFsIGRvIEJyYXNpbCAtIFJGQjEuMCwGA1UEAxMlQXV0b3JpZGFkZSBDZXJ0aWZpY2Fk  
    b3JhIGRvIFNFUlBST1JGQjAeFw0xMTEwMDYxODQyNTRaFw0xNDEwMDUxODM0MzFaMIHnMQswCQYD  
    VQQGEwJCUjETMBEGA1UEChMKSUNQLUJyYXNpbDE2MDQGA1UECxMtU2VjcmV0YXJpYSBkYSBSZWNl  
    aXRhIEZlZGVyYWwgZG8gQnJhc2lsIC0gUkZCMREwDwYDVQQLEwhDT1JSRUlPUzETMBEGA1UECxMK  
    QVJDT1JSRUlPUzEWMBQGA1UECxMNUkZCIGUtQ05QSiBBMzERMA8GA1UEBxMIQ1JJQ0lVTUExCzAJ  
    BgNVBAgTAlNDMSswKQYDVQQDEyJCRVRIQSBTSVNURU1BUyBMVERBOjAwNDU2ODY1MDAwMTY3MIGf  
    MA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCDhx6lU2mJ03oPfUe6c0NrJYuSEGtN67Q5OmU6c0NJ  
    Zi5D0b/TKHwWFHGyG+f+scvL5EDGE3clcb5Bn7wfZM3trmAavF/jXqYGhU+RaUTu4fUxFbnsH0CL  
    1zuHErFNtE3+6nMzaKOxvMLQ6RIgWCof9mJ1EMWMaLpSqHCr45fs1QIDAQABo4ICejCCAnYwDwYD  
    VR0TAQH/BAUwAwEBADAfBgNVHSMEGDAWgBS5IouGJEbnoq3nKTuMaDtNrXSRFDAOBgNVHQ8BAf8E  
    BAMCBeAwYAYDVR0gBFkwVzBVBgZgTAECAwQwSzBJBggrBgEFBQcCARY9aHR0cHM6Ly9jY2Quc2Vy  
    cHJvLmdvdi5ici9hY3NlcnByb3JmYi9kb2NzL2RwY2Fjc2VycHJvcmZiLnBkZjCBtAYDVR0RBIGs  
    MIGpoD0GBWBMAQMEoDQEMjE5MDkxOTYxNDg2NTM0OTc5MDAwMDAwMDAwMDAwMDAwMDAwMDAwNTM4  
    ODUwM1NTUFNDoBsGBWBMAQMCoBIEEENFU0FSIFNNSUVMRVZTS0mgGQYFYEwBAwOgEAQOMDA0NTY4  
    NjUwMDAxNjegFwYFYEwBAwegDgQMMDAwMDAwMDAwMDAwgRdmaW5hbmNlaXJvQGJldGhhLmNvbS5i  
    cjAgBgNVHSUBAf8EFjAUBggrBgEFBQcDAgYIKwYBBQUHAwQwgagGA1UdHwSBoDCBnTAyoDCgLoYs  
    aHR0cDovL2NjZC5zZXJwcm8uZ292LmJyL2xjci9hY3NlcnByb3JmYi5jcmwwM6AxoC+GLWh0dHA6  
    Ly9jY2QyLnNlcnByby5nb3YuYnIvbGNyL2Fjc2VycHJvcmZiLmNybDAyoDCgLoYsaHR0cDovL3d3  
    dy5pdGkuZ292LmJyL3NlcnByby9hY3NlcnByb3JmYi5jcmwwTAYIKwYBBQUHAQEEQDA+MDwGCCsG  
    AQUFBzAChjBodHRwOi8vY2NkLnNlcnByby5nb3YuYnIvY2FkZWlhcy9hY3NlcnByb3JmYi5wN2Iw  
    DQYJKoZIhvcNAQEFBQADggEBAKLTCdSEFJY7sQrW0/OD7d7fG3eKvfajQr28cbliVDxug5eBQIIn  
    9Sov/TfaiuarKmRblv1cV9rOTS0uwbPaw30yJGZGz/vSe5c3Pk+ZQQQnCDhTd3Z+jXxgFFl0h/Nz  
    no5qdlDQ/tWOQjoASepFhCEXA3KMK+nPBHORipDjzAW/5+00MBhyXvmbCiKkXCJY2dgOq51Oky9Z  
    WcFFbT/bVaM0ywh9AqTaBB15EbA04frorijvm8hAUSvoICFSg7oqdUFS52q328sUabD6txMbn+i3  
    teG+SrGhCGOmvru9Rs2mexApYYi4n9ltref3HLpM96VRSC7pHFKG1qE1eR9VVDo=</X509Certificate></X509Data></KeyInfo></Signature></Rps></ListaRps></LoteRps>

Como realizar o unmarshal sem alterar o XML de entrada.

Criado 20 de março de 2014
Respostas 0
Participantes 1