Ir para conteúdo
  • Cadastre-se

André Longhi

Membros
  • Total de ítens

    1
  • Registro em

  • Última visita

Posts postados por André Longhi

  1. Em 16/05/2016 at 22:42, Edson.pol disse:

    Boa noite.

    Estou tentando assinar um arquivo XML com digest SHA256, mas está ocorrendo erro:

    The DigestMethod Algorithm "http://www.w3.org/2001/04/xmlenc#sha256" is not supported.

    Criei as funções Assinar256, SignatureElement256, AdicionarSignatureElement256 em ACBrDFeSSL, para não alterar as funções atuais,

    aí tento assinar com:     FXMLAssinado := ACBrEFinanceira1.SSL.Assinar256(FXMLOriginal , 'eFinanceira',  'evtCadDeclarante');

    e o erro é disparado.

    Será que o Delphi não assina com SHA256 ? 

    A Receita Federal disponibilizou um programa assinador escrito em C#. Instalei o Visual Studio e testei, assina corretamente.

     

    
    function TDFeSSLClass.SignatureElement256(const URI: String; AddX509Data: Boolean;
      IdSignature: String; Digest:TSSLDgst): String;
    begin
      {(*}
      Result :=
      '<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"' + IdSignature + '>' +
        '<SignedInfo>' +
          '<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />' +
          '<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig-more#rsa-sha256"/>' +   //ALTERACAO PARA SHA256
          '<Reference URI="' + IfThen(URI = '', '', '#' + URI) + '">' +
            '<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/2001/04/xmlenc#sha256" />'+             // ALTERACAO PARA SHA256
            '<DigestValue></DigestValue>' +
          '</Reference>' +
        '</SignedInfo>' +
        '<SignatureValue></SignatureValue>' +
        '<KeyInfo>' +
        IfThen(AddX509Data,
          '<X509Data>' +
            '<X509Certificate></X509Certificate>' +
          '</X509Data>',
          '')+
        '</KeyInfo>'+
      '</Signature>';
      {*)}
    end;

     

    CadDeclaranteLote-ASSINADO.xml

    Amigo, você conseguiu resolver seu problema ? estou com o mesmo ...

×
×
  • 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.

The popup will be closed in 10 segundos...