Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia a todos,

Recentemente foi trocado a comunicação da NotaBlu (NFS-e Blumenau) de SSL para TLS.

Todos os testes realizados foram com certificado A1, e funcionaram perfeitamente. Ao atualizar o módulo em um cliente que utiliza certificado A3 ocorreu o erro 403 (Forbidden).

Para ter certeza de que o erro era na comunicação por TLS, voltei para SSL e realizei o teste novamente. Como já esperava, a nota foi emitida normalmente.

Então estou em dúvida se o problema é no provedor, na comunicação com A3 e TLS, ou se é a minha configuração do componente NFsBlu que está errada.

Abaixo está minha rotina de configuração do uso do certificado, alguém poderia me dizer se a configuração está realmente correta?

  NfsBlu.Certificado.Senha       := Certificado.Senha;
  NfsBlu.Certificado.SSLHttpLib  := httpWinHttp;
  NfsBlu.Certificado.SSLCryptLib := cryWinCrypt;

  if Certificado.OpenSSL = 'S' then
  begin
    NFsBlu.Certificado.SSLType       := LT_TLSv1_2;
    NfsBlu.Certificado.SSLXmlSignLib := xsXmlSec;
    NfsBlu.Certificado.ArquivoPFX    := BMDir+'Certificados\'+Certificado.ArquivoPFX;
  end
  else 
  begin
    NfsBlu.Certificado.SSLXmlSignLib := xsMsXml;
    NfsBlu.Certificado.NumeroSerie   := Certificado.NumSerie;
  end;

  NfsBlu.Certificado.CarregarCertificado;

OBS: Já enviei um e-mail para a prefeitura questionando o caso, porém, como de costume, demora uma semana para ser respondido...

Se alguém puder ajudar, fico muito agradecido.

Grato desde já.

Postado

Bom dia Daniel, você se refere a acrescentar essa configuração quando não for OpenSSL?

Assim:

  if Certificado.OpenSSL = 'S' then
  begin
    NFsBlu.Certificado.SSLType       := LT_TLSv1_2;
    NfsBlu.Certificado.SSLXmlSignLib := xsXmlSec;
    NfsBlu.Certificado.ArquivoPFX    := BMDir+'Certificados\'+Certificado.ArquivoPFX;
  end
  else 
  begin
    NFsBlu.Certificado.SSLType       := LT_TLSv1_2;  // ACRESCENTADO //
    NfsBlu.Certificado.SSLXmlSignLib := xsMsXml;
    NfsBlu.Certificado.NumeroSerie   := Certificado.NumSerie;
  end;

Caso seja isso, já tinha configurado o componente dessa maneira, porém retirei devido ao erro com o certificado A3 quando TLS.

Desculpe se não entendi muito bem sua dica.

Postado

Então, usando o componente com essa configuração, ocorre o erro citado (403 forbidden) quando tento enviar a NFs utilizando certificado A3. Se eu deixar sem a configuração do TLS, consigo enviar as notas com o A3, por isso provisoriamente tinha deixado sem, até encontrar uma solução para este erro.

Detalhe, se enviar utilizando TLS quanto o certificado for A1, funciona perfeitamente o problema ocorre somente com o certificado A3.

E não tem como deixar assim (SSL para A3 e TLS para A1) pois dia 20/07/2017 o provedor PRODAM irá descontinuar a comunicação por SSL.

 

Agradeço pela atenção Daniel.

  • 3 meses depois ...
Postado

Bom dia, retornando a este assunto, solicitemos a atualização da cadeia certificado e a reinstalação do drive do certificado. Mesmo após efetuada as sugestões propostas, o erro persiste.

O erro também passou a ocorrer com um outro cliente que atualizou a versão para comunicação por TLS e o mesmo também utiliza certificado A3.

De momento para não deixar o cliente impossibilitado de utilizar o módulo, mantive a conexão por SSL quando estiver utilizando certificado A3.

Minha configuração para leitura do certificado é a seguinte:

  NfsBlu.Certificado.Senha       := Certificado.Senha;
  NfsBlu.Certificado.SSLHttpLib  := httpWinHttp;
  NfsBlu.Certificado.SSLCryptLib := cryWinCrypt;

  if Certificado.OpenSSL = 'S' then
  begin
    NFsBlu.Certificado.SSLType       := LT_TLSv1_2;
    NfsBlu.Certificado.SSLXmlSignLib := xsXmlSec;
    NfsBlu.Certificado.ArquivoPFX    := BMDir+'Certificados\'+Certificado.ArquivoPFX;
  end
  else
  begin
	// NFsBlu.Certificado.SSLType    := LT_TLSv1_2;   comentado pois não esta funcionando conexão TLS com certificado A3
    NfsBlu.Certificado.SSLXmlSignLib := xsMsXml;
    NfsBlu.Certificado.NumeroSerie   := Certificado.NumSerie;
  end;

  NfsBlu.Certificado.CarregarCertificado

Talvez estou errando em algo...

  • Consultores
Postado

Bom dia João,

A minha sugestão é setar somente a propriedade SSLLib com o valor libXXX desejado e deixar as demais propriedades SSLyyyy por conta do componente, pois o mesmo atribui os valores corretos dependendo do valor de SSLLib.

Com exceção da SSLType.

  • Obrigado 1
Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • Este tópico foi criado há 2598 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.