Tópico: NFSeSigner
Ver um Único Post

 
  #2 (permalink)  
Antigo 27/10/2009
Avatar de LuizVaz
LuizVaz LuizVaz está offline
Administrator
Super Admin
Points: 10,505, Level: 68 Points: 10,505, Level: 68 Points: 10,505, Level: 68
Activity: 0% Activity: 0% Activity: 0%
Last Achievements
 
Registrado em: Oct 2009
Localização: Belo Horizonte
Posts: 86
Thanks: 2
Thanked 6 Times in 6 Posts
Activity Longevity
0/20 20/20
Today Posts
sssssss86
Enviar mensagem via Windows Live Messenger para LuizVaz Enviar mensagem via Yahoo para LuizVaz
Padrão

Adriano,

Você tem que manter a mesma estrutura do TAG Signature.
Ele tem que ser sempre:

Código:
                <Signature xmlns="http://www.w3.org/2000/09/xmldsig#" Id="Ass_rps:1ABCDZ">
                    <SignedInfo>
                        <CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"/>
                        <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
                        <Reference URI="#rps:1ABCDZ">
                            <Transforms>
                                <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
                            </Transforms>
                            <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
                            <DigestValue/>
                        </Reference>
                    </SignedInfo>
                    <SignatureValue/>
                    <KeyInfo>
                        <X509Data>
                            <X509Certificate/>
                        </X509Data>
                    </KeyInfo>
                </Signature>
Isso é necessário para o que o TAG seja encontrado e o XML seja assinado.
Pois a linha abaixo procura pelo NAMESPACE xmldsig:

Código:
       
const
       DSIGNS = 'xmlns:ds="http://www.w3.org/2000/09/xmldsig#"';  
       ...
       FXMLDoc.setProperty('SelectionNamespaces', DSIGNS);
       sSigs := FXMLDoc.selectNodes('.//ds:Signature');
A única coisa que muda é o 1ABCDZ e que tem sempre de ser "Id":
Id="Ass_rps:1ABCDZ"


Ele é o código referente ao "Id" do RPS, NOTA ou LOTE.


Att,
Luiz Vaz
Arquivos Anexados
Tipo de Arquivo: xml CAN_000001.XML (1,001 Bytes, 10 visualizações)
Responder com Citação
 

Content Relevant URLs by vBSEO 3.3.0