<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Pré-formatação HTML Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.EstiloDeEmail17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.Pr-formataoHTMLChar
        {mso-style-name:"Pré-formatação HTML Char";
        mso-style-priority:99;
        mso-style-link:"Pré-formatação HTML";
        font-family:"Courier New";}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=PT-BR link=blue vlink=purple>

<div class=WordSection1>

<p class=MsoNormal><span lang=EN-US>I’m trying validate a digital signature
with the certificate located at KEYINFO node.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I had tried a lot of different ways to do
it, but I have no success.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>I used the code of lasso project (</span><span
class=apple-style-span><span lang=EN-US style='font-family:"Arial","sans-serif";
color:black'><a href="http://lasso.entrouvert.org">http://<b>lasso</b>.entrouvert.org</a>)<o:p></o:p></span></span></p>

<p class=MsoNormal><span class=apple-style-span><span lang=EN-US
style='font-family:"Arial","sans-serif";color:black'>And of a mail (http://www.mail-archive.com/xmlsec@aleksey.com/msg03925.html)</span></span><span
lang=EN-US><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>This is my code (pascal code):<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>function verify_file(const xml_file :
string) : integer;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>var<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  doc                            :
xmlDocPtr;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  Signature, NFe, KeyInfo        :
xmlNodePtr;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  dsigCtx                        :
xmlSecDSigCtxPtr;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  sl                             :
TStringList;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  sText                          :
Ansistring;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  rc                             : integer;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  cert_data, cert_key            :
xmlSecKeyDataPtr;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  cert                           : Pointer;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  key                            :
xmlSecKeyPtr;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  ffile : TextFile;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal>begin<o:p></o:p></p>

<p class=MsoNormal>//inicialização das variáveis<o:p></o:p></p>

<p class=MsoNormal>  doc     := nil;<o:p></o:p></p>

<p class=MsoNormal>  <span lang=EN-US>Signature    := nil;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  dsigCtx := nil;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  sl      := TStringList.Create;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  </span>//inicializa leitura do arquivo<o:p></o:p></p>

<p class=MsoNormal>  sl.LoadFromFile(xml_file);<o:p></o:p></p>

<p class=MsoNormal>  <span lang=EN-US>sText :=sl.Text;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  doc :=
xmlParseDoc(PAnsiChar(UTF8Encode(sText)));<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  if (doc = nil) or
(xmlDocGetRootElement(doc) = nil)  then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    </span>raise Exception.Create('erro ao
ler xml');<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>  <span lang=EN-US>NFe       :=
xmlSecFindNode(xmlDocGetRootElement(doc),'NFe','http://www.portalfiscal.inf.br/nfe');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  Signature :=
xmlSecFindNode(NFe,xmlSecNodeSignature, xmlSecDSigNs);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  KeyInfo   := xmlSecFindNode(Signature,
xmlSecNodeKeyInfo, xmlSecDSigNs);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  if NFe = nil then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    raise Exception.Create('Error: start
node not found in ' + xml_file);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  dsigCtx := xmlSecDSigCtxCreate(nil);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  try<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    if (dsigCtx = nil) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      raise Exception.Create('Failed to
create Signature Context');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      Key := xmlSecKeyCreate();<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>//if I don’t use this, will not work<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>   dsigCtx.keyInfoReadCtx.flags         :=
XMLSEC_KEYINFO_FLAGS_DONT_STOP_ON_KEY_FOUND or
XMLSEC_KEYINFO_FLAGS_X509DATA_DONT_VERIFY_CERTS;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    dsigCtx.keyInfoReadCtx.mode           
:= xmlSecKeyInfoModeRead;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    dsigCtx.keyInfoReadCtx.keyReq.keyId   
:= xmlSecOpenSSLKeyDataX509GetKlass;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    dsigCtx.keyInfoReadCtx.keyReq.keyType 
:= xmlSecKeyDataTypePublic;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    dsigCtx.keyInfoReadCtx.keyReq.keyUsage
:= xmlSecKeyDataUsageAny;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    //if (xmlSecKeyInfoNodeRead(KeyInfo,
dsigCtx.signKey, @dsigCtx.keyInfoReadCtx) < 0) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    if (xmlSecKeyInfoNodeRead(KeyInfo, key,
@dsigCtx.keyInfoReadCtx) < 0) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    begin<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      xmlSecKeyDestroy(dsigCtx.signKey);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      xmlSecDSigCtxDestroy(dsigCtx);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      raise Exception.Create('Could not
read KeyInfo');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    cert_data := xmlSecKeyGetData(Key,
xmlSecOpenSSLKeyDataX509GetKlass);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               if
(cert_data <> nil) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               begin<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                cert :=
xmlSecOpenSSLKeyDataX509GetCert(cert_data, 0);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                               if
(cert <> nil) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      begin<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                               cert_key
:= xmlSecOpenSSLX509CertGetKey(cert);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                               rc
:= xmlSecKeySetValue(Key, cert_key);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                               if
(rc < 0) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                                              showmessage('num
deu');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    dsigCtx.signKey := Key;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>   
//dsigCtx.keyInfoReadCtx.enabledKeyData.<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    if(xmlSecDSigCtxVerify(dsigCtx,
Signature) < 0) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    begin<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      xmlSecDSigCtxDebugDump(dsigCtx,nil);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      dsigCtx.signKey := nil;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      xmlSecKeyDestroy(Key);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      xmlSecDSigCtxDestroy(dsigCtx);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>      raise Exception.Create('Failed to
verify signature');<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  finally<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    if(doc <> nil) then<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        xmlFreeDoc(doc);<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>end;<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>this is the debug info<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecXPathDataExecute:file=..\src\xpath.c:line=273:obj=unknown:subj=xmlXPt<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>rEval:error=5:libxml2 library function
failed:expr=xpointer(id('NFe4210070950036<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>0000127550020000000560000000593'))<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecXPathDataListExecute:file=..\src\xpath.c:line=356:obj=unknown:subj=xm<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>lSecXPathDataExecute:error=1:xmlsec library
function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecTransformXPathExecute:file=..\src\xpath.c:line=466:obj=xpointer:subj=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>xmlSecXPathDataExecute:error=1:xmlsec
library function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecTransformDefaultPushXml:file=..\src\transforms.c:line=2395:obj=xpoint<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>er:subj=xmlSecTransformExecute:error=1:xmlsec
library function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecTransformCtxXmlExecute:file=..\src\transforms.c:line=1226:obj=unknown<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>:subj=xmlSecTransformPushXml:error=1:xmlsec
library function failed:transform=xp<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>ointer<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecTransformCtxExecute:file=..\src\transforms.c:line=1286:obj=unknown:su<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>bj=xmlSecTransformCtxXmlExecute:error=1:xmlsec
library function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecDSigReferenceCtxProcessNode:file=..\src\xmldsig.c:line=1571:obj=unkno<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>wn:subj=xmlSecTransformCtxExecute:error=1:xmlsec
library function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecDSigCtxProcessSignedInfoNode:file=..\src\xmldsig.c:line=804:obj=unkno<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>wn:subj=xmlSecDSigReferenceCtxProcessNode:error=1:xmlsec
library function failed<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>:node=Reference<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecDSigCtxProcessSignatureNode:file=..\src\xmldsig.c:line=547:obj=unknow<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>n:subj=xmlSecDSigCtxProcessSignedInfoNode:error=1:xmlsec
library function failed<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecDSigCtxVerify:file=..\src\xmldsig.c:line=366:obj=unknown:subj=xmlSecD<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>SigCtxSigantureProcessNode:error=1:xmlsec
library function failed:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>func=xmlSecDSigCtxDebugDump:file=..\src\xmldsig.c:line=1068:obj=unknown:subj=out<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>put != NULL:error=100:assertion:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>and this is the xml:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><?xml version="1.0"
encoding="utf-8"?><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><nfeProc
xmlns="http://www.portalfiscal.inf.br/nfe"
versao="1.10"><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><NFe
xmlns="http://www.portalfiscal.inf.br/nfe"><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><infNFe versao="1.10"
Id="NFe42100710295305000121550010000000040000000144"><ide><cUF>42</cUF><cNF>000000014</cNF><natOp>RETORNO
DE
INDUSTRIZALIZACAO</natOp><indPag>0</indPag><mod>55</mod><serie>1</serie><nNF>4</nNF><dEmi>2010-07-12</dEmi><dSaiEnt>2010-07-12</dSaiEnt><tpNF>1</tpNF><cMunFG>4209102</cMunFG><tpImp>2</tpImp><tpEmis>1</tpEmis><cDV>4</cDV><tpAmb>1</tpAmb><finNFe>1</finNFe><procEmi>0</procEmi><verProc>1.0</verProc></ide><emit><CNPJ>10295305000121</CNPJ><xNome>TECHCONTROL
COM. DE DISP. DE CONTROLE LTDA</xNome><xFant>TECHCONTROL
INDUSTRIAL</xFant><enderEmit><xLgr>RUA ANITA
GARIBALDI</xLgr><nro>1190</nro><xBairro>ANITA
GARIBALDI</xBairro><cMun>4209102</cMun><xMun>JOINVILLE</xMun><UF>SC</UF><CEP>89203300</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>4734337709</fone></enderEmit><IE>255679238</IE><IM>94475</IM><CNAE>4669999</CNAE></emit><dest><CNPJ>50935576000119</CNPJ><xNome>PLASCAR
IND. COMPONENTES PLASTICOS
LTDA</xNome><enderDest><xLgr>AVENIDA WILHELM
WINTER</xLgr><nro>300</nro><xBairro>DISTRITO
INDUSTRIAL</xBairro><cMun>3525904</cMun><xMun>JUNDIAI</xMun><UF>SP</UF><CEP>13213000</CEP><cPais>1058</cPais><xPais>BRASIL</xPais><fone>0800729800</fone></enderDest><IE>407081560119</IE></dest><det
nItem="1"><prod><cProd>99</cProd><cEAN/><xProd>DISP.
CONT. CUBING FAROL FOX GP
(1)</xProd><NCM>84663000</NCM><CFOP>6902</CFOP><uCom>PC</uCom><qCom>1.0000</qCom><vUnCom>25000.0000</vUnCom><vProd>25000.00</vProd><cEANTrib/><uTrib>PC</uTrib><qTrib>1.0000</qTrib><vUnTrib>25000.0000</vUnTrib></prod><imposto><ICMS><ICMS90><orig>0</orig><CST>90</CST><modBC>3</modBC><vBC>0.00</vBC><pICMS>0.00</pICMS><vICMS>0.00</vICMS><modBCST>0</modBCST><vBCST>0.00</vBCST><pICMSST>0.00</pICMSST><vICMSST>0.00</vICMSST></ICMS90></ICMS><IPI><cEnq>999</cEnq><IPITrib><CST>99</CST><vBC>25000.00</vBC><pIPI>0.00</pIPI><vIPI>0.00</vIPI></IPITrib></IPI><PIS><PISNT><CST>07</CST></PISNT></PIS><COFINS><COFINSNT><CST>07</CST></COFINSNT></COFINS></imposto></det><total><ICMSTot><vBC>0.00</vBC><vICMS>0.00</vICMS><vBCST>0.00</vBCST><vST>0.00</vST><vProd>25000.00</vProd><vFrete>0.00</vFrete><vSeg>0.00</vSeg><vDesc>0.00</vDesc><vII>0.00</vII><vIPI>0.00</vIPI><vPIS>0.00</vPIS><vCOFINS>0.00</vCOFINS><vOutro>0.00</vOutro><vNF>25000.00</vNF></ICMSTot></total><transp><modFrete>0</modFrete><transporta><CNPJ>01824869000113</CNPJ><xNome>JOINVILENSE
CARGAS EXPRESS
LTDA</xNome><IE>254494684</IE><xEnder>ROD BR 101 - KM
43 43 GALP 4/5 NOVA BRASILIA
89213125</xEnder><xMun>JOINVILLE</xMun><UF>SC</UF></transporta><vol><qVol>1</qVol></vol></transp><infAdic><infCpl>DOCUMENTO
EMITIDO POR ME OU EPP OPTANTE PELO SIMPLES NACIONAL LC 123/2006.|RETORNO TOTAL
DE SUA NF 127519|</infCpl></infAdic></infNFe><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><Signature
xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference
URI="#NFe42100709500360000127550020000000560000000593"><Transforms><Transform
Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform
Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>N+66WC/Fl+crTqXw0kSD846MIH4=</DigestValue></Reference></SignedInfo><SignatureValue><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>   
HHim9Z0p881/LPRrGgKmqjREdG8WTSlyY7lVZs9SyEIJcMo8OZ5/MMwd9TkQPNe8ZUEh+i22<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    /Du2wfjH0fgaB5/sM8Wi2YTT1BqKbQ1YJIQw+r5YQFpsTzzIvH5sKEkhQpwYdCt6gkJPdJPH<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>    7nP+NVcKfHcdHH6eqSmJu2p1JMM=<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>  </SignatureValue><KeyInfo><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                               <X509Data><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                                              <X509Certificate><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
MIIGMjCCBRqgAwIBAgIIaVC6ceRbadswDQYJKoZIhvcNAQEFBQAwTDELMAkGA1UEBhMCQlIx<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          EzARBgNVBAoTCklDUC1CcmFzaWwxKDAmBgNVBAMTH1NFUkFTQSBDZXJ0aWZpY2Fkb3JhIERp<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
Z2l0YWwgdjEwHhcNMTAwNTI0MTcyMjAwWhcNMTMwNTIzMTcyMjAwWjCB7TELMAkGA1UEBhMC<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
QlIxEzARBgNVBAoTCklDUC1CcmFzaWwxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRgwFgYDVQQL<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
Ew8wMDAwMDEwMDEwNzQxNjgxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQwEgYDVQQLEwsoRU0g<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
QlJBTkNPKTEUMBIGA1UECxMLKEVNIEJSQU5DTykxFDASBgNVBAsTCyhFTSBCUkFOQ08pMRQw<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
EgYDVQQLEwsoRU0gQlJBTkNPKTErMCkGA1UEAxMiSUNQIElORFVTVFJJQSBERSBQTEFTVElD<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          T1MgTFREQSBNRTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAz43Y4jSPQK3wiobHFSjn<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
1cMkh2PLsSk9VRjCjJPG7oELq+Oyu44eW4Ee+lTKq3E0KoAMBrNodPChAXATIAOhRLMqFUcA<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
GNJvzYa5AY3IqZNvsyoxL5olZe5OknL5Pw0Y+qUJ7bN3V7EWi8SX6V8kKqESDOf1VgQpgteE<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          +IlAF50CAwEAAaOCAvgwggL0MA4GA1UdDwEB/wQEAwIF4DAdBgNVHSUEFjAUBggrBgEFBQcD<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
AgYIKwYBBQUHAwQwHwYDVR0jBBgwFoAUt2CoW/mypq4A7XTr1UrJlmhm9VwwgbsGA1UdEQSB<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
szCBsIEaU1RBTlBMQVNUQFNUQU5QTEFTVC5DT00uQlKgPQYFYEwBAwSgNBMyMTIwNTE5ODkw<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          Njk2ODQyMDkyOTAwMDAwMDAwMDAwMDAwMDAwMDA0MjI5NDQ5U1NQU0OgHwYFYEwBAwKgFhMU<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
VElBR08gRklSTU8gRlJBQ0NBUk+gGQYFYEwBAwOgEBMOMDk1MDAzNjAwMDAxMjegFwYFYEwB<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
AwegDhMMMDAwMDAwMDAwMDAwMFcGA1UdIARQME4wTAYGYEwBAgMDMEIwQAYIKwYBBQUHAgEW<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          NGh0dHA6Ly93d3cuY2VydGlmaWNhZG9kaWdpdGFsLmNvbS5ici9yZXBvc2l0b3Jpby9kcGMw<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
gfAGA1UdHwSB6DCB5TBJoEegRYZDaHR0cDovL3d3dy5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29t<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
LmJyL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYxLmNybDBDoEGgP4Y9aHR0cDovL2xjci5j<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          ZXJ0aWZpY2Fkb3MuY29tLmJyL3JlcG9zaXRvcmlvL2xjci9zZXJhc2FjZHYxLmNybDBToFGg<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
T4ZNaHR0cDovL3JlcG9zaXRvcmlvLmljcGJyYXNpbC5nb3YuYnIvbGNyL1NlcmFzYS9yZXBv<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
c2l0b3Jpby9sY3Ivc2VyYXNhY2R2MS5jcmwwgZcGCCsGAQUFBwEBBIGKMIGHMDwGCCsGAQUF<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          BzABhjBodHRwOi8vb2NzcC5jZXJ0aWZpY2Fkb2RpZ2l0YWwuY29tLmJyL3NlcmFzYWNkdjEw<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
RwYIKwYBBQUHMAKGO2h0dHA6Ly93d3cuY2VydGlmaWNhZG9kaWdpdGFsLmNvbS5ici9jYWRl<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
aWFzL3NlcmFzYWNkdjEucDdiMA0GCSqGSIb3DQEBBQUAA4IBAQAdZZc3HomaTE5zOc+4+G2V<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
OP7YZJ9PmavlCR+D9WppuQ0DEWAM/FPgAOIDH+koDHdQrMaXa+9M96zS2fFcxBv/wiOUkyBv<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
daRINCWjjveziNy5C1BSLeQg1QoBsHmrq6MJj6g67Yhm7sWwXIQADPDOEvF7ErnIfC1xZn/7<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
Ngku6sBNp5zssrzz/q39OdsskucUce0+xrVGt+R1X1UZFCcNQLh7aUCkcni2SZT+nrNjagu2<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>         
S6pPRznescQPuZVJHjGmqIaQIi04nin4yOFzKHujJxWwIlrKmFG7l2NXwkz4u/aYnKsCXm4o<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>          c9/8EJyXFmPmUr4QvEjQ409RuO33oQkW<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>        </X509Certificate><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                                               </X509Data><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                                               </KeyInfo><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                               </Signature></NFe><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US>                <protNFe
versao="1.10"><infProt
Id="ID342100031729699"><tpAmb>1</tpAmb><verAplic>SVRS20100615093536</verAplic><chNFe>42100709500360000127550020000000560000000593</chNFe><dhRecbto>2010-07-09T15:40:54</dhRecbto><nProt>342100031729699</nProt><digVal>N+66WC/Fl+crTqXw0kSD846MIH4=</digVal><cStat>100</cStat><xMotivo>Autorizado
o uso da NF-e</xMotivo></infProt></protNFe></nfeProc><o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US>When I try to validate the same xml at </span><a
href="http://www.aleksey.com/xmlsec/xmldsig-verifier.html"><span lang=EN-US>http://www.aleksey.com/xmlsec/xmldsig-verifier.html</span></a>
<span lang=EN-US>I have the error:<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecXPathDataExecute:file=xpath.c:line=273:obj=unknown:subj=xmlXPtrEval:error=5:libxml2
library function
failed:expr=xpointer(id('NFe42100709500360000127550020000000560000000593'))<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecXPathDataListExecute:file=xpath.c:line=356:obj=unknown:subj=xmlSecXPathDataExecute:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecTransformXPathExecute:file=xpath.c:line=466:obj=xpointer:subj=xmlSecXPathDataExecute:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecTransformDefaultPushXml:file=transforms.c:line=2371:obj=xpointer:subj=xmlSecTransformExecute:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecTransformCtxXmlExecute:file=transforms.c:line=1207:obj=unknown:subj=xmlSecTransformPushXml:error=1:xmlsec
library function failed:transform=xpointer<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecTransformCtxExecute:file=transforms.c:line=1267:obj=unknown:subj=xmlSecTransformCtxXmlExecute:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecDSigReferenceCtxProcessNode:file=xmldsig.c:line=1568:obj=unknown:subj=xmlSecTransformCtxExecute:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecDSigCtxProcessSignedInfoNode:file=xmldsig.c:line=804:obj=unknown:subj=xmlSecDSigReferenceCtxProcessNode:error=1:xmlsec
library function failed:node=Reference<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecDSigCtxProcessSignatureNode:file=xmldsig.c:line=547:obj=unknown:subj=xmlSecDSigCtxProcessSignedInfoNode:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US style='font-size:10.0pt;font-family:"Courier New";
color:black'>func=xmlSecDSigCtxVerify:file=xmldsig.c:line=366:obj=unknown:subj=xmlSecDSigCtxSigantureProcessNode:error=1:xmlsec
library function failed: <o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>Error: signature verification failed<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:black'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:black'>Somebody can help me?<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

<p class=MsoNormal><b><span lang=EN-US style='color:#1F497D'>Jonatas Fischer<o:p></o:p></span></b></p>

<p class=MsoNormal><b><span lang=EN-US style='color:#1F497D'>Sys Developer
Software<o:p></o:p></span></b></p>

<p class=MsoNormal><span lang=EN-US style='color:#1F497D'>(55) 47 3423-2710<o:p></o:p></span></p>

<p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p>

</div>

</body>

</html>