Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3103 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Gostaria de uma ajuda para tentar assinar um documento XML (não é NFE-e, ou outro documento fiscal) qualquer utilizando a estrutura do ACBR.

Eu sei que o ACBR não foi feito para essa finalidade, mas acredito que seria possível usar o componente para esta finalidade.

Ele até esta gerando a assinatura no XML, mas não está verificando a mesma... tentei inclusive verificado com outro programa (xmlsec), mas também não validou a assinatura.

Estou usando o seguinte código:

  arq.LoadFromFile('tosign.xml');
  ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := caminhoCertificado;
  ACBrNFe1.Configuracoes.Certificados.Senha := senhaCertificado;
  ACBrNFe1.SSL.CarregarCertificado;
  arq.Text := ACBrNFe1.SSL.Assinar(arqConv,'Envelope','vehicle_weight');
  arq.SaveToFile('signed.xml');
  FreeAndNil(arq);

  if ACBrNFe1.SSL.VerificarAssinatura(arqConv,erro,'vehicle_weight') then
    ShowMessage('verificado');

Obrigado pela ajuda.

MGWare Tecnologia LTDA

  • 2 semanas depois ...
Postado

Apenas para deixar registrado, consegui fazer funcionar com algumas alterações na função Assinar do CAPICOM do Acbr... basicamente precisa tirar uma função que ajusta a formatação do XML

MGWare Tecnologia LTDA

  • Fundadores
Postado
Em 02/02/2016 at 10:43, Guilherme Lanius disse:

Gostaria de uma ajuda para tentar assinar um documento XML (não é NFE-e, ou outro documento fiscal) qualquer utilizando a estrutura do ACBR.

Eu sei que o ACBR não foi feito para essa finalidade, mas acredito que seria possível usar o componente para esta finalidade.

Ele até esta gerando a assinatura no XML, mas não está verificando a mesma... tentei inclusive verificado com outro programa (xmlsec), mas também não validou a assinatura.

Por favor poste um exemplo do XML sem a assinatura, e um Exemplo de como ele deverá ficar após assinado

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado

Oi Daniel, eu já consegui resolver o problema.

A assinatura fica igual da NF-e, com os mesmos campos.

Eu apenas precisei alterar o TDFeCapicom.Assinar

alterar a linha

signedKey := xmldsig.sign(dsigKey, $00000002);

por

signedKey := xmldsig.sign(dsigKey, KEYVALUE+CERTIFICATES);

e comentar a linha XmlAss := AjustarXMLAssinado(XmlAss);

Essa última que estava dando maiores problemas para validação.

  • Curtir 1

MGWare Tecnologia LTDA

  • 3 meses depois ...
Postado

Seguindo a linha do mesmo assunto, estou tentando fazer a assinatura de um documento que não é NFe, por sinal bem diferente, e pela dica do REGIS, estou usando ACBRDfe da seguinte forma:

var
   assinatura : TACBrDFe;
begin
   //   Fazer rotina de assinatura
   assinatura := TACBrDFe.Create(nil);   //  Aqui não sei o que referenciar, então coloquei "nil"
   assinatura.SSL.SelecionarCertificado;  // Aqui carrego o certificado instalado
   DOC_XML := assinatura.SSL.Assinar(DOC_XML,'Ensaio','InformarEnsaio','Ensaio','','');  // Creio ser aqui meu problena
 

Estou meio perdido, minha(s) dúvida(s) são :

A Tag que quero assinar é 

<Ensaio>
   ...
</Ensaio>
 
O arquivo XML tem a estrutura :
<InformarEnsaio>
   <Ensaio>
         ...
   </Ensaio>
</InformarEnsaio>

a variável DOC_XML é umAnsiString com o conteúdo do ensaio XML

Qual a sintaxe para essa operação ? Alguém saberia me orientar ?

Desde já agradecido !

  • Este tópico foi criado há 3103 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.