Ir para conteúdo
  • Cadastre-se

dev botao

Erro CAPICOM SEFAZ/MG - WINDOWS 2003/2003x64


Ver Solução Respondido por Rodrigo Sidney,
  • Este tópico foi criado há 1876 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde !

Estou tendo o mesmo problema da Emissão da NFC-e, consigo emitir a primeira nota e depois ocorre a mensagem "Falha Recebendo os Dados Erro:12175". Fiz o que o Daniel solicitou acima e mesmo assim, não tive exito apos atualizacao do componente. Reinstalei  e fiz todas as combinaçoes  do SSL.SSLType e nao tive sucesso. Existe alguma propriedade nova que eu tenho que reconfigurar ?

Desde de já agradeço o Retorno, Obrigado.

Pedro Paulo.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Pedro,

Tive o mesmo problema, em anexo está a config. que estou usando e está funcionando... mas, precisei ajustar também meu código para carga do certificado que no caso do A3 estava dando problema porque estava executando a carga do mesmo mais de uma vez, atualmente faço alguns testes antes de carregar ou não:

        if not NFe.SSL.CertificadoLido then  // No caso do A3 ao carregar a segunda vez Gera erro!
        begin
          try
            NFe.SSL.DescarregarCertificado;
            NFe.Configuracoes.Geral.SSLLib           := TSSLLib(Nfe_Cfg.nfe_cd_ssl_lib);
            NFe.Configuracoes.Geral.SSLCryptLib      := TSSLCryptLib(Nfe_Cfg.nfe_cd_crypt_lib);
            NFe.Configuracoes.Geral.SSLHttpLib       := TSSLHttpLib(Nfe_Cfg.nfe_cd_http_lib);
            NFe.Configuracoes.Geral.SSLXmlSignLib    := TSSLXmlSignLib(Nfe_Cfg.nfe_cd_sign_lib);
            NFe.SSL.SSLType                          := TSSLType(Nfe_Cfg.nfe_ws_ssltype);
            NFe.SSL.CarregarCertificadoSeNecessario;
            dt_validade_cd                           := Nfe.SSL.CertDataVenc;
          except
            On E : Exception do
            begin
              Mensagem('Erro na carga do Certificado Digital!'+ql+E.Message,'e');
              raise;
            end;
          end;
        end;

Os dados para config do SSL eu carrego de uma tabela do banco, mas veja na imagem anexa os valores que estou usando.

Ref a usar o A3 para NFC-e na minha opinião não é a melhor opção. Tive um caso em que o movimento na loja é grande e devido a problemas com leitora e a necessidade de inserir o PIN acabamos fazendo um A1 para dar mais agilidade.

Espero ter ajudado.

Abraço.

 

 

cfg_cd.png

Editado por sysbase
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Estou tendo o mesmo problema "Falha Recebendo os Dados Erro:12175" o que percebi é que possuo dois componentes "ACbrNFe" um para emissão da NFe e outro para manifesto que fica em uma thread quando um funciona o outro não funciona.

Da impressão que o componente que entra primeiro tem a prioridade para usar o certificado o outro fica com erro.

Na versão anterior funcionava perfeitamente quando era somente a "CAPICOM".

Alguém passando pelo mesmo problema?

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

20 horas atrás, João Paulo F. Bellucci disse:

Estou tendo o mesmo problema "Falha Recebendo os Dados Erro:12175" o que percebi é que possuo dois componentes "ACbrNFe" um para emissão da NFe e outro para manifesto que fica em uma thread quando um funciona o outro não funciona.

Da impressão que o componente que entra primeiro tem a prioridade para usar o certificado o outro fica com erro.

Na versão anterior funcionava perfeitamente quando era somente a "CAPICOM".

Alguém passando pelo mesmo problema?

Centralize isso em uma unit, e instancie-os ao usar, tive que fazer isso no meu sistema também. Parece que um atrapalhava o outro.

Link para o comentário
Compartilhar em outros sites

Boa tarde, @acgubamg

Consegui resolver o problema.

Tive que fazer somente uma autenticação com senha e depois não faço mais.

No inicio do programa faço uma assinatura fake com senha para acessar o certificado, depois retiro a senha do componente e funciona perfeitamente.

Da impressão que a rotina ao tentar assinar pela segunda vez com o outro componente se estiver com senha fica com crash.

Obrigado pela ajuda.

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O problema é o compartilhamento do Certificados A3... não é permitido que duas instâncias acessem a chave privada do certificado ao mesmo tempo..

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

Boa noite,

Depois de dar uma lida e nas resposta tentar corrigir o problema sem êxito, Vamos lá:

Todos os testes aplicados, foram utilizando o ACBrNFe_Demo.exe

Utilizando estas configurações:

 SSLLib          =libWinCrypt
 CryptLib        =CryWinCrypt
 HttpLib          =HttpWinHttp ou HttpWinLNet
 XMLSignLib  =xsMsXML

 e SSLType <> LT_TLSv1_2 

No Windows 7 com um certificado digital A3 Certisign PenDrive ou A1 funciona tudo corretamente sem problemas.

No Windows 7 com um certificado digital A3 Valid PenDrive, Leitora + Cartão, ou outra certificadora de leitora + cartão, como mencionado em outros post, quando abre o Demo na primeira vez e pede para realizar um "Status de Serviço", podendo repetir diversas vezes o clique não ocorre nenhum problema. Caso faça um simples clique no botão "Salvar Configurações" da aba certificado e voltar clicar no  botão "Status de Serviço", ocorre diretamente o erro "12157 ou 12030", dependendo do staus HttpLib.

com isso o problema só é resolvido fechando a abrindo o demo novamente.

Percebi que este erro ocorre quando o componente ACBrNFe carrega novamente os parametros.

Obs: Todos estes mencionados acima, foram também realizados com windows 10 sem nenhum problema inclusive o "SSLType = LT_TLSv1_2". Estou com clientes funcionando normalmente com A3 Certisign PenDrive, A1 e os outros parados.

Obs2: Já segui o Bye Bye CAPICOM,

Se alguém tiver uma idéa ou solução para testes.

Abrigado.

Correto1.png

Erro1.png

Erro2.png

6 minutos atrás, Mauro Asl disse:

Boa noite,

Depois de dar uma lida e nas resposta tentar corrigir o problema sem êxito, Vamos lá:

Todos os testes aplicados, foram utilizando o ACBrNFe_Demo.exe

Utilizando estas configurações:

 SSLLib          =libWinCrypt
 CryptLib        =CryWinCrypt
 HttpLib          =HttpWinHttp ou HttpWinLNet
 XMLSignLib  =xsMsXML

 e SSLType <> LT_TLSv1_2 

No Windows 7 com um certificado digital A3 Certisign PenDrive ou A1 funciona tudo corretamente sem problemas.

No Windows 7 com um certificado digital A3 Valid PenDrive, Leitora + Cartão, ou outra certificadora de leitora + cartão, como mencionado em outros post, quando abre o Demo na primeira vez e pede para realizar um "Status de Serviço", podendo repetir diversas vezes o clique não ocorre nenhum problema. Caso faça um simples clique no botão "Salvar Configurações" da aba certificado e voltar clicar no  botão "Status de Serviço", ocorre diretamente o erro "12157 ou 12030", dependendo do staus HttpLib.

com isso o problema só é resolvido fechando a abrindo o demo novamente.

Percebi que este erro ocorre quando o componente ACBrNFe carrega novamente os parametros.

Obs: Todos estes mencionados acima, foram também realizados com windows 10 sem nenhum problema inclusive o "SSLType = LT_TLSv1_2". Estou com clientes funcionando normalmente com A3 Certisign PenDrive, A1 e os outros parados.

Obs2: Já segui o Bye Bye CAPICOM,

Se alguém tiver uma idéa ou solução para testes.

Abrigado.

Correto1.png

Erro1.png

Erro2.png

Depois de ter postado, percebi onde ele caiu e ví algumas novas soluções. Vou dar uma nova revisada no app.

Desculpas pela nova postagem.

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mauro,

Fique a vontade para propor melhorias nos fontes...

Por favor teste a Unit, com as modificações desse tópico:

 

 

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

  • Fundadores
2 horas atrás, Mauro Asl disse:

No Windows 7 com um certificado digital A3 Valid PenDrive, Leitora + Cartão, ou outra certificadora de leitora + cartão, como mencionado em outros post, quando abre o Demo na primeira vez e pede para realizar um "Status de Serviço", podendo repetir diversas vezes o clique não ocorre nenhum problema. Caso faça um simples clique no botão "Salvar Configurações" da aba certificado e voltar clicar no  botão "Status de Serviço", ocorre diretamente o erro "12157 ou 12030", dependendo do staus HttpLib.

Não consegui reproduzir o problema... (mas meus certificados são: A3, leitora de Cartão Certisign, A1 Certisign)

No site da Microsoft tem o significado dos Erros, ambos estão ligados a falha de conexão segura..

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383770(v=vs.85).aspx

Citar

ERROR_WINHTTP_SECURE_CHANNEL_ERROR - 12157 - Indicates that an error occurred having to do with a secure channel (equivalent to error codes that begin with "SEC_E_" and "SEC_I_" listed in the "winerror.h" header file).

ERROR_WINHTTP_CONNECTION_ERROR - 12030 - The connection with the server has been reset or terminated, or an incompatible SSL protocol was encountered. For example, WinHTTP version 5.1 does not support SSL2 unless the client specifically enables it.

 

Ao que tudo indica MG, já está adotando o TLS1.2, nos servidores.. (aqui em SP é aceito TLS1.2 ou SSL3.0)

Para usar o TLS1.2 com OpenSSL (Certificados A1, carregados por arquivo PFX), é necessária uma versão do OpenSSL superior a 1.0

Para usar TLS1.2 com WinCrypt ou CAPICOM, será necessária uma versão nova do Windows, com os devidos Patchs de segurança aplicados

https://support.microsoft.com/pt-br/help/3140245/update-to-enable-tls-1.1-and-tls-1.2-as-a-default-secure-protocols-in-winhttp-in-windows

E acredito que WindowsXP não será uma opção...

Portanto... se você realmente deseja usar o RuWindows XP... então deve usar OpenSSL 1.0 e Certificados A1

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

Boa noite senhores, caso ainda seja útil para alguém da uma olhada nesse tópico; em 2012 tivemos problemas em GO com windows server 2003 e XP, existe um hotfix disponibilizado pela Microsoft que tenta corrigir esse problema.

Segue o Tópico, essa semana mesmo o pessoal teve alguns problemas semelhantes.

att.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

11 horas atrás, Daniel Simoes disse:

Não consegui reproduzir o problema... (mas meus certificados são: A3, leitora de Cartão Certisign, A1 Certisign)

No site da Microsoft tem o significado dos Erros, ambos estão ligados a falha de conexão segura..

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383770(v=vs.85).aspx

Ao que tudo indica MG, já está adotando o TLS1.2, nos servidores.. (aqui em SP é aceito TLS1.2 ou SSL3.0)

Para usar o TLS1.2 com OpenSSL (Certificados A1, carregados por arquivo PFX), é necessária uma versão do OpenSSL superior a 1.0

Para usar TLS1.2 com WinCrypt ou CAPICOM, será necessária uma versão nova do Windows, com os devidos Patchs de segurança aplicados

https://support.microsoft.com/pt-br/help/3140245/update-to-enable-tls-1.1-and-tls-1.2-as-a-default-secure-protocols-in-winhttp-in-windows

E acredito que WindowsXP não será uma opção...

Portanto... se você realmente deseja usar o RuWindows XP... então deve usar OpenSSL 1.0 e Certificados A1

 Blz Daniel ! Estou vendo estas atualizações para win7. vou fazer outros testes e post os resultado.

Obrigado.

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

Em 09/04/2017 at 00:47, Daniel Simoes disse:

Não consegui reproduzir o problema... (mas meus certificados são: A3, leitora de Cartão Certisign, A1 Certisign)

No site da Microsoft tem o significado dos Erros, ambos estão ligados a falha de conexão segura..

https://msdn.microsoft.com/en-us/library/windows/desktop/aa383770(v=vs.85).aspx

Ao que tudo indica MG, já está adotando o TLS1.2, nos servidores.. (aqui em SP é aceito TLS1.2 ou SSL3.0)

Para usar o TLS1.2 com OpenSSL (Certificados A1, carregados por arquivo PFX), é necessária uma versão do OpenSSL superior a 1.0

Para usar TLS1.2 com WinCrypt ou CAPICOM, será necessária uma versão nova do Windows, com os devidos Patchs de segurança aplicados

https://support.microsoft.com/pt-br/help/3140245/update-to-enable-tls-1.1-and-tls-1.2-as-a-default-secure-protocols-in-winhttp-in-windows

E acredito que WindowsXP não será uma opção...

Portanto... se você realmente deseja usar o RuWindows XP... então deve usar OpenSSL 1.0 e Certificados A1

 Caro @Daniel Simoes,

 Depois de ter seguido sua instruções, atualização do Windows7:

 Os certificados mencionados A3 PenDrive menos o da Certisign trava e todos de cartão também.

 Nos testes com  ACBr Demo percebi a questão do compartilhamento do certificado A3. Uma vez ele aberto, caso tenha que recarregar os parâmetros ocorre o erro, tendo que fechar a abrir novamente.

Agora o estranho, eu tenho um aplicativo servidor de certificados "DataSnap", onde vários terminais acessam simultaneamente. Para cada conexão é instanciado o ACBrNFe e destruído no final bla...bla..

Sem que nenhuma outra conexão esteja usando, sempre gera os erros mencionados. Uma única instância e certificado não sendo compartilhado.

Ao ser instanciado ele carrega os parametros do arquivo.ini normalmente como é feito no demo.

Obs: windows 10 não ocorre estes tipos de erros, inclusive o compartilhamento do certificado pode ser feito normalmente.

alguma luz.

Att:

Mauro Augusto Souza Lima / Sócio Desenvolvedor

Tels : (24) 2246-0548 - 2246-3051

www.limatech.com.br

limatech.png

Link para o comentário
Compartilhar em outros sites

  • Fundadores
1 minuto atrás, Mauro Asl disse:

Depois de ter seguido sua instruções, atualização do Windows7:

A instrução não é minha.. é da Microsoft...

Entre em contato com o suporte da Microsoft ou da empresa que fornece o certificado...

2 minutos atrás, Mauro Asl disse:

 Nos testes com  ACBr Demo percebi a questão do compartilhamento do certificado A3. Uma vez ele aberto, caso tenha que recarregar os parâmetros ocorre o erro, tendo que fechar a abrir novamente.

Como já disse... não reconheço esse problema.. pois não consegui reproduzir o mesmo...

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

  • Membros Pro
Em 21/03/2017 at 16:22, sysbase disse:

Boa tarde Daniel,

Obrigado pelo retorno... Testei usando o demo em ambiente de produção usando o A3 do cliente e funcionou sem problemas. Por se tratar de ambiente de produção testei apenas a consulta via chave e também carregando o XML.

Voltei a testar com meu sistema e como já havia relatado antes, usando o exemplo da consulta de uma NF-e já autorizada, na primeira consulta funciona e nas seguintes dá erro. Preciso fechar e abrir o sistema novamente e então, a primeira consulta funciona e.....  O fato é que não alterei nada no meu código (consulta NF-e) em relação à versão anterior, antes de alterar para a libWinCrypt, mas algo não está fechando.

Vou verificar meu código, se alguém tiver mais alguma colaboração desde já agradeço.

boa tarde sysbase. estou com esse mesmo problema. voce conseguiu resolver?

obrigado

paulinho

Em 04/04/2017 at 16:21, sysbase disse:

Boa tarde Pedro,

Tive o mesmo problema, em anexo está a config. que estou usando e está funcionando... mas, precisei ajustar também meu código para carga do certificado que no caso do A3 estava dando problema porque estava executando a carga do mesmo mais de uma vez, atualmente faço alguns testes antes de carregar ou não:


        if not NFe.SSL.CertificadoLido then  // No caso do A3 ao carregar a segunda vez Gera erro!
        begin
          try
            NFe.SSL.DescarregarCertificado;
            NFe.Configuracoes.Geral.SSLLib           := TSSLLib(Nfe_Cfg.nfe_cd_ssl_lib);
            NFe.Configuracoes.Geral.SSLCryptLib      := TSSLCryptLib(Nfe_Cfg.nfe_cd_crypt_lib);
            NFe.Configuracoes.Geral.SSLHttpLib       := TSSLHttpLib(Nfe_Cfg.nfe_cd_http_lib);
            NFe.Configuracoes.Geral.SSLXmlSignLib    := TSSLXmlSignLib(Nfe_Cfg.nfe_cd_sign_lib);
            NFe.SSL.SSLType                          := TSSLType(Nfe_Cfg.nfe_ws_ssltype);
            NFe.SSL.CarregarCertificadoSeNecessario;
            dt_validade_cd                           := Nfe.SSL.CertDataVenc;
          except
            On E : Exception do
            begin
              Mensagem('Erro na carga do Certificado Digital!'+ql+E.Message,'e');
              raise;
            end;
          end;
        end;

Os dados para config do SSL eu carrego de uma tabela do banco, mas veja na imagem anexa os valores que estou usando.

Ref a usar o A3 para NFC-e na minha opinião não é a melhor opção. Tive um caso em que o movimento na loja é grande e devido a problemas com leitora e a necessidade de inserir o PIN acabamos fazendo um A1 para dar mais agilidade.

Espero ter ajudado.

Abraço.

 

 

cfg_cd.png

Essa rotina voce inseriu em que momento?

obrigado

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Antônio,

De forma resumida... Tenho um cadastro de parâmetros cfe. tela acima e, tenho uma procedure que é responsável por configurar e inicializar o componente ACBrNFe a partir deste cadastro e também outras variáveis auxiliares, que é chamada antes do início do processo de geração de uma ou mais NFs... no meu caso, estava dando erro sempre na segunda chamada a esta rotina e tinha que fechar e abrir o sistema para resolver, então, com base nos testes cheguei ao código acima no qual testo antes de carregar novamente o certificado

if not NFe.SSL.CertificadoLido then

....... 

NFe.SSL.CarregarCertificadoSeNecessario;

..... desta forma continuo chamando minha procedure da mesma forma que antes porém, sem carregar o certificado a cada vez e isso a princípio resolveu o problema, ao menos por enquanto.... tenho também um outro caso de um certificado A3 token que não tem jeito de funcionar em uma das estações de um cliente mas funciona em outra mas daí já outro problema.

Espero ter ajudado.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
9 horas atrás, sysbase disse:

Bom dia Antônio,

De forma resumida... Tenho um cadastro de parâmetros cfe. tela acima e, tenho uma procedure que é responsável por configurar e inicializar o componente ACBrNFe a partir deste cadastro e também outras variáveis auxiliares, que é chamada antes do início do processo de geração de uma ou mais NFs... no meu caso, estava dando erro sempre na segunda chamada a esta rotina e tinha que fechar e abrir o sistema para resolver, então, com base nos testes cheguei ao código acima no qual testo antes de carregar novamente o certificado


if not NFe.SSL.CertificadoLido then

....... 


NFe.SSL.CarregarCertificadoSeNecessario;

..... desta forma continuo chamando minha procedure da mesma forma que antes porém, sem carregar o certificado a cada vez e isso a princípio resolveu o problema, ao menos por enquanto.... tenho também um outro caso de um certificado A3 token que não tem jeito de funcionar em uma das estações de um cliente mas funciona em outra mas daí já outro problema.

Espero ter ajudado.

sysbase obrigado pela dica. em meu sistema eu tambem faço isso, atraves dos parametros de um arquivo ini. Só que carrego uma vez em uma procedure lerconfiguração. e executo essa procedure no onshow do form, e não carrego mais em lugar algum, mesmo quando vou emitir a segunda NFe. Sera que se eu colocar essa função todas as vezes que solicitar uma NFe, eu resolveria. o duro que não tenho um certificado A3 para teste. poderia copiar essa função sua em meu sistema?

obrigado

paulinho

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Como vc. disse que tem a chamada à rotina no "OnShow", já verificou se em algum momento este evento não está sendo disparado mais vezes?

Caso  vc. não esteja testando "CertificadoLido" cfe acima estará ocorrendo a tentativa de carga do certificado e consequentemente o erro.

Vc. vai precisar de um A3 pra teste, aqui consegui um A3 emprestado pra testar em Homologação.

Use o bloco de código do post anterior e sete as propriedades com as constantes de forma fixa só pra teste.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
2 horas atrás, sysbase disse:

Como vc. disse que tem a chamada à rotina no "OnShow", já verificou se em algum momento este evento não está sendo disparado mais vezes?

Caso  vc. não esteja testando "CertificadoLido" cfe acima estará ocorrendo a tentativa de carga do certificado e consequentemente o erro.

Vc. vai precisar de um A3 pra teste, aqui consegui um A3 emprestado pra testar em Homologação.

Use o bloco de código do post anterior e sete as propriedades com as constantes de forma fixa só pra teste.

sysbase. mais uma vez muito obrigado. vou fazer isso, darei uma olhada em minha rotina e vou pegar um certificado A3 para testar.

paulinho

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
Em 21/03/2017 at 10:01, sysbase disse:

Bom dia...

Ajustei o sistema para usar somente o SSLIB = libWinCrypt e removi também as referências à CAPICOM... com certificado A1 está ok, porém, ao testar com A3(cartão) está ocorrendo o seguinte erro:

Erro Interno: 12175

Erro HTTP: 4

Erro recebendo dados. Erro:Erro: 12175

Alguém tem alguma ideia do que pode estar ocorrendo?

Obrigado.

Como resolveu esse problema?

Link para o comentário
Compartilhar em outros sites

  • 5 meses depois ...
  • Este tópico foi criado há 1876 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.