Ir para conteúdo
  • Cadastre-se

dev botao

Erro 403 (Forbidden) usando TLS + Certificado A3


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

Recommended Posts

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á.

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

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.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Aqui uso A3 da Certisign, com TLS1.2 e Wincrypt...

Parece ser algo errado na instalação dos driver's do certificado 

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.

Link para o comentário
Compartilhar em outros sites

  • 3 meses depois ...

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

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 / 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

  • Fundadores

Voce nao ativou o TLS...

Você configurou para Wincrypt e no IF abaixo não atribuiu o TLS ( está comentado)

  • Obrigado 1
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.

Link para o comentário
Compartilhar em outros sites

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