Ir para conteúdo
  • Cadastre-se

dev botao

Uma Opção Certificação A3/SHA256 - Fontes


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

Recommended Posts

1 minuto atrás, juuninho disse:

Isso, eu estava me referindo ao .NET sim... foi mal!

Certo, então independente de S.O a dependência sera do .NET 4.0 nesse caso, certo?

Que no caso do XP, só atualizando para o SP3.

Essa eSocialSignature.dll e Security.Cryptografy.dll estão versionadas em algum lugar?

Obrigado Tiago


Afirmativo para todas as questões!
https://github.com/tiagopsilva/eSocialSignature

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 27/12/2017 at 14:39, Jeihcio Francis disse:

Eu acabei resolvendo o problema que mencionei acima da seguinte forma: 

 

Configurações do componente:

 

If ( Obj.Modelo = A3 ) Then
         Begin
            If FConsultar Then
               AACBreSocial.Configuracoes.Geral.SSLLib := libCapicom
            Else
               AACBreSocial.Configuracoes.Geral.SSLLib := libCustom;

            AACBreSocial.Configuracoes.Geral.SSLXmlSignLib := xsNone;
            AACBreSocial.Configuracoes.Certificados.NumeroSerie := Obj.NumeroSerie;
            AACBreSocial.SSL.CarregarCertificado;
         End;

 

Obs: Eu sei que por default o 'SSLXmlSignLib' vem 'xsNone', mas eu quis deixar explicitamente no código do meu controller que é obrigatório setar esse valor no atributo. 

 

Depois e antes de enviar eu faço:

 

{ Assinatura digital }
ACBreSocial1.AssinarEventos;

{ Enviar dados ao webservice }
ACBreSocial1.Configuracoes.Geral.SSLXmlSignLib := xsXmlSec;
ACBreSocial1.Enviar(getTipoGrupo(nTabela));

 

Antes de enviar é obrigatório setar 'xsXmlSec'  para a propriedade 'SSLXmlSignLib', pois no método 'Enviar' da classe 'TACBreSocial' que fica dentro do arquivo 'ACBReSocial' existe a seguinte verificação: 

 

if SSL.SSLXmlSignLib <> xsXmlSec then
    raise EACBreSocialException.Create('Necessário DigestMethod Algorithm = sha256 -> SSLLib = libOpenSSL'); 

 

Essas configurações eu fiz no meu código da minha aplicação, já no componente da ACBR tive que fazer as seguintes alterações no arquivo 'ACBrDFeSSL':

 

Método 'Assinar' da classe 'TDFeSSLXmlSignClass':

 

function TDFeSSLXmlSignClass.Assinar(const ConteudoXML, docElement,
  infElement: String; SignatureNode: String; SelectionNamespaces: String;
  IdSignature: String; IdAttr: String): String;
var
  xml: PAnsiChar;
begin
   FpDFeSSL.SSLCryptLib := cryCapicom;

   xml := PAnsiChar(AnsiString(ConteudoXML));
   TESocialSignature.SignSHA256Ansi(xml, PAnsiChar(AnsiString(infElement)),
                                         PAnsiChar(AnsiString(FpDFeSSL.NumeroSerie)),
                                         PAnsiChar(AnsiString(FpDFeSSL.Senha)));
   Result := string(AnsiString(xml));
end;

 

e no método 'Validar' dessa mesma classe:

 

function TDFeSSLXmlSignClass.Validar(const ConteudoXML, ArqSchema: String; out
  MsgErro: String): Boolean;
var
  DFeSSL: TDFeSSL;
begin
   DFeSSL := TDFeSSL.Create;
   Try
      DFeSSL.SetSSLXmlSignLib(xsXmlSec);
      Result := DFeSSL.Validar(ConteudoXML, ArqSchema, MsgErro);
   Finally
      DFeSSL.Free;
   End;
end;

 

Essas foram as unicas alterações que fiz para resolver o problema....

deixei exataente assim e está dando "metodo Enviar não implementado em TDFeSSLHttpClass"
Aconteceu isso pra alguem?

Link para o comentário
Compartilhar em outros sites

  • Moderadores
47 minutos atrás, juuninho disse:

Boa tarde!

Alguém sabe me informar se essa versão atualizada do e-Social que foi subida para o trunk, já contempla a assinatura sha-256 com o A1 e A3 (fora o PFX)?

Se sim, qual as configs que deve-se utilizar?

Obg!

 

só testando.

veja o exemplo e tente rodar.

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Pessoal, Bom dia 

Show de bola esse Componente o exemplo deu certinho sem precisar registrar a DLL com Regasm

Só estou com uma dúvida quando assino vários arquivos e mando pro WebService no A3
Da esse erro

raised exception class ESOAPHTTPException with message 'Erro no suporte a canais seguros - URL:https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc - SOAPAction:http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0/ServicoEnviarLoteEventos/EnviarLoteEventos'. 

 

Que e o mesmo erro quando a senha não é informada

 

e Quando fecho a aplicação e envio um arquivo assinado direto não da esse erro e abre aquela janela padrão pedindo a senha do certificado  e como se o o componente salvasse a senha do certificado internamente na memoria do Windows e depois de alguns segundos ele removesse

 

Att,

 

Henrique Campos

Link para o comentário
Compartilhar em outros sites

16 minutos atrás, Henrique Manoel de Campos disse:

Pessoal, Bom dia 

Show de bola esse Componente o exemplo deu certinho sem precisar registrar a DLL com Regasm

Só estou com uma dúvida quando assino vários arquivos e mando pro WebService no A3
Da esse erro

raised exception class ESOAPHTTPException with message 'Erro no suporte a canais seguros - URL:https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc - SOAPAction:http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0/ServicoEnviarLoteEventos/EnviarLoteEventos'. 

 

Que e o mesmo erro quando a senha não é informada

 

e Quando fecho a aplicação e envio um arquivo assinado direto não da esse erro e abre aquela janela padrão pedindo a senha do certificado  e como se o o componente salvasse a senha do certificado internamente na memoria do Windows e depois de alguns segundos ele removesse

 

Att,

 

Henrique Campos

Verifica se as configurações no IE estão dessa forma.

image.png.adcfa99c01286437b561174c076a7f77.png

Link para o comentário
Compartilhar em outros sites

Arce, Boa tarde mesma com essa configurações voltou a dar o erro 

raised exception class ESOAPHTTPException with message 'Erro no suporte a canais seguros - URL:https://webservices.producaorestrita.esocial.gov.br/servicos/empregador/enviarloteeventos/WsEnviarLoteEventos.svc - SOAPAction:http://www.esocial.gov.br/servicos/empregador/lote/eventos/envio/v1_1_0/ServicoEnviarLoteEventos/EnviarLoteEventos'.

 

image.png.ae2d4ab8c063d35f3f0af6284d2d6f6c.png

 

Obrigado

 

Henrique Campos

Link para o comentário
Compartilhar em outros sites

  • 3 semanas depois ...
  • Consultores

Boa tarde Klerysson,

Você não esta conseguindo enviar com os fontes e programa exemplo disponibilizados no Trunk2?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2233 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...