Certificado A3 - DFe - Documentos Fiscais Eletrônicos - Projeto ACBr
January 30, 2020 in DFe - Documentos Fiscais Eletrônicos
Bom dia, atualizei recentemente a versão do delphi para a 10.3.2 e estou tento um problema com meus clientes que usam certificado A3 para enviar CTe.
Ao tentar fazer o envio, tenho o seguinte erro:
12157 - Erro relacionado ao Canal seguro
Uso o CAPICOM
Porém, no Demo do ACBr, a com a mesma configuração, o certificado funciona normalmente. Acredito que deve ser alguma unit ou DLL que estamos colocando no nosso executável que está gerando esso problema, só que já estamos com mais de um mês com esse problema e ainda não conseguimos resolver.
Vocês tem alguma idela ou sugestão de ação que podemos fazer.
Você vai precisar mudar, deixar de usar o Capicom e passar a utilizar o WinCrypt, pois a SEFAZ esta desativando os protocolos: SSL, TLS 1.0 e TLS 1.1
Só vai aceitar o protocolo TLS 1.2
1 hora atrás, Active.Matheus disse:
- Veja se a configuração SSLType está como LT_TLSv1_2.
- Veja se o Windows da máquina tem todas as atualizações instaladas.
Configurei o SSLType como LT_TLSv1_2 e no demo do ACBr funcionou corretamente.
Porém na minha aplicação, deu o erro "12186 - Falha ao obter a Chave Privada do Certificado para comunicação segura". Entendo deve ser algo que tem na minha aplicação, porém estou com dificuldades para encontrar, pois como eu disse, é um erro que só acontece no computador do cliente que usa Certificado A3. Vocês tem alguma idea de como posso identificado o problema?
4 minutos atrás, Active.Matheus disse:
"12186 - Falha ao obter a Chave Privada do Certificado para comunicação segura"
Parece ser algo errado com a instalação do certificado.
5 minutos atrás, Active.Matheus disse:
é um erro que só acontece no computador do cliente que usa Certificado A3
Você testou com o programa exemplo do componente na máquina e certificado do usuário?
Acredito que não seja no certificado, porque está funcionando o DEMO na maquina do usuário. A minha aplicação que não funciona. Dá o erro "12186 - Falha ao obter a Chave Privada do Certificado para comunicação segura".
Porém infelizmente não identifiquei o que tem na minha aplicação que está causando isso.
Só por curiosidade, atualizei recentemente minha aplicação para o delphi 10.3.3(o demo que testei está compilado nessa versão tb), porém a aplicação antiga que é compilado no delphi XE8 está funcionando normalmente no cliente, a nova q não está.(A antiga está utilizando CAPICOM).
Primeiramente não devemos mais usar o Capicom e sim o WinCrypt ou o OpenSSL, no caso do seu cliente tem que ser WinCrypt uma vez que o certificado é A3.
Segundo, certificado A3 é só dor de cabeça, convença o seu cliente a trocar essa porcaria.
Existem diversos relatos de pessoas que perderam o certificado, por conta de um bug em uma DLL da Microsoft (se não me falha a memória).
Terceiro, com certeza é alguma configuração errada na sua aplicação no que se refere ao certificado digital.
Italo, obrigado pela ajuda! Sempre trabalhamos com nossos clientes a possibilidade de comprar o certificado A1, mas grande parte de nossos clientes são pequenos transportadores, as vezes tem só o proprio dono na empresa, e acaba ficando inviável pra ele comprar o certificado A1, pois ele já tem o A3, devido sugestão do contaodor dele.
De qualquer forma, ontem conseguimos resolver o problema, e pior que foi com uma solução muito simples.
Simplesmente fomos no Delphi 10.3.2 que a versão que migramos nossos produtos, e criamos um projeto novo, adicionei as units nesse novo projeto e pronto, problema resolvido. No processo de migração, nós apenas abrirmos o DPR da versão antiga na versão nova e mandamos compilar.
Confesso que não sei exatamente o que solucionou o problema, mas acredito que fazendo isso, novos pacotes foram incluidos no binários do executável, pois ele ficou maior.