Ir para conteúdo
  • Cadastre-se

dev botao

Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046


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

Recommended Posts

  • Membros Pro

Solução para o Provedor pronim 8-)

Consegui resolver o provedor pronim o erro acima com seguintes passos abaixo descritos:

1) removi e inclui novamente o componente AcbrNfse;

2) Alterei a propriedade a seguir  para falso ( ACBrNFSe1.Configuracoes.Certificados.VerificarValidade :=False);

3) Alterei os parâmetros do  arquivo ArqINI Pronim para os valores 0, conforme imagem anexo.

 

Funcionou sem problemas em todos meus clientes.

 

Qualquer dúvida estou a disposição.

 

pronim_mirassol.JPG

Link para o comentário
Compartilhar em outros sites

Na verdade esta retornando o xml do rps e não da nfse. Uso thema.

Por isso achei que estava vindo vazio , pois não trazia os valores de nfs

Complementando, e no site da prefeitura a nota esta emitida. E não tenho o retorno do xml da nfse.

Pra completar o ambiente de homologação não esta mais liberado por motivo de segurança afff.

Link para o comentário
Compartilhar em outros sites

Completando denovo, era o tempo mesmo, aparentemente deu certo,

ACBrNFSe1.Configuracoes.WebServices.AjustaAguardaConsultaRet := true;
ACBrNFSe1.Configuracoes.WebServices.AguardarConsultaRet := 10000;
ACBrNFSe1.Configuracoes.WebServices.IntervaloTentativas := 10000;
ACBrNFSe1.Configuracoes.WebServices.Tentativas          := 3000;
ACBrNFSe1.Configuracoes.WebServices.TimeOut             := 20000;
 

Link para o comentário
Compartilhar em outros sites

Em 31/03/2016 at 13:47, EvertonCalvete disse:

Boa tarde,

depois desta alteração (  if (UseCertificate) then
        InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT,  Pointer(HCertContext), SizeOf(CERT_CONTEXT)); ) , o xml retorna em branco, alguma ideia?

Você alterou os INIs pelos atuiais?

Link para o comentário
Compartilhar em outros sites

Boa tarde

Estou com os arquivos atualizados, e as situações de erro persistem. Tanto com libCapicom ou libCapicomDelphiSoap. Provedor ISSNet.

Percebi o seguinte:

Utilizando SSLLib := libCapicom, e fazendo o que foi proposto anteriormente, setando FUseCertificate := false; no começo da procedure TACBrHTTPReqResp.Execute(Resp: TStream), consegui enviar a nota, de fato consultei a nota pelo site e está correta. Porém o xml retornardo é diferente daquele que era retornado anteriormente (quando estava funcionando).

Antes era retornado as tags neste formato <tc:Nfse>, ou seja, todas as tags tinham "tc:". Agora retorna sem o "tc:" mas os nomes continuam corretos. Exemplo: <Nfse>

Editado por Alan Alves
Faltou provedor.
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Alguém já conseguiu corrigir esse erro "Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT". Fiz o que alguns colegas recomendaram neste post, ou seja, comentar a exceção que é criada (Linha 106/107 da ACBrDFeCapicomDelphiSoap.pas), mas aí dá outros erros.

Estou com esse erro com provedor Fiorilli. Já atualizei todos os fontes e .ini.

Tenho SSLLib = libCapicomDelphiSoap, mas já tentei também com SSLLib = libCapicom. 

Debugando o código percebo que essas mesmas linhas dessa unit são executadas na emissão de NFe/NFCe. Fiz o teste no mesmo sistema/máquina, com o mesmo certificado e, na NFe não acontece nenhum erro.

Se alguém tiver qualquer dica, por favor, me repasse.

Obrigado!
        

 

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Bom dia Valdir,

Abra o arquivo Fiorilli.INI com o bloco de notas e altere o valor de UseCertificado de 1 para 0 e faça novos testes.

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

Estou implementando um novo provedor no componente e estou com o mesmo problema. 
"Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT"
Só funciona corretamente se eu comento essas linhas abaixo na unit ACBrDFeCapicomDelphiSoap

if (UseCertificate) then
      if not InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT,
        Pointer(HCertContext), SizeOf(CERT_CONTEXT)) then
        raise EACBrDFeException.Create('Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: ' +
                                       IntToStr(GetLastError)); 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Alexandre,

Então atualiza todos os fontes de todas as pastas pois não existe mais essa propriedade chamada UseCertificate.

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

  • 3 semanas depois ...
  • Membros Pro
Em 20/04/2016 at 17:11, AlexandreWerner disse:

Ok, irei fazer isso. 


Obrigado Italo.

Bom dia Alexandre, 

Conseguistes resolver esse erro? Estou tendo o mesmo problema no provedor Fiorilli e meus fontes estão atualizados.

Obrigado!

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

Em 06/05/2016 at 10:46, valdirdill disse:

Bom dia Alexandre, 

Conseguistes resolver esse erro? Estou tendo o mesmo problema no provedor Fiorilli e meus fontes estão atualizados.

Obrigado!

Valdir, 

Conforme o Italo falou, eu atualizei meus fontes e funcionou normalmente.
Tenta atualizar novamente e ai compila com a opção build all no seu projeto. 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
21 minutos atrás, AlexandreWerner disse:

Valdir, 

Conforme o Italo falou, eu atualizei meus fontes e funcionou normalmente.
Tenta atualizar novamente e ai compila com a opção build all no seu projeto. 

Bom dia,

Já fiz isso, mas não deu resultados. De toda forma, agradeço a resposta. Vou tentar "fuçar" mais.

Obrigado!

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Valmir,

Dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI temos dezenas de arquivos INI, temos um para cada provedor.

Esses arquivos contem informações importantes que são utilizados pelo componente, algumas se refere a auto configuração e outras diz respeito a montagem dos Envelopes antes do envio de alguma solicitação de serviço.

Sendo assim, quando digo que devemos atualizar todos os fontes de todas as pastas estou me referindo também aos arquivos INI dos provedores.

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

  • Membros Pro
Em 09/05/2016 at 10:35, Italo Jurisato Junior disse:

Bom dia Valmir,

Dentro da pasta: ...\Exemplos\ACBrDFe\ACBrNFSe\ArqINI temos dezenas de arquivos INI, temos um para cada provedor.

Esses arquivos contem informações importantes que são utilizados pelo componente, algumas se refere a auto configuração e outras diz respeito a montagem dos Envelopes antes do envio de alguma solicitação de serviço.

Sendo assim, quando digo que devemos atualizar todos os fontes de todas as pastas estou me referindo também aos arquivos INI dos provedores.

Bom dia Italo,

Desculpe a demora em dar um retorno, mas é que o servidor do município do meu cliente estava fora nesses dias e por isso não consegui testar.

Em relação às atualizações dos fontes do ACBR eu fiz tudo. Deletei tudo que foi .ini e baixei novamente. Refiz o processo de atualização e o erro continua. Então resolvi fazer o que você sugeriu em outro post "Abra o arquivo Fiorilli.INI com o bloco de notas e altere o valor de UseCertificado de 1 para 0 e faça novos testes". Aí o erro não ocorreu mais e a nota processou/transmitiu normal.

Essa variável UseCertificado é do provedor ou do município? Se eu baixar os fontes agora, o Fiorilli.ini vai estar UseCertificado=1. Então devo fazer testes em cada município para ver se deve ficar 0 ou 1 e tentar o envio?

Obrigado!

Valdir Dill

Rio de Janeiro - RJ

 

 

Link para o comentário
Compartilhar em outros sites

Em 14/04/2016 at 10:27, Italo Jurisato Junior disse:

Abra o arquivo Fiorilli.INI com o bloco de notas e altere o valor de UseCertificado de 1 para 0 e faça novos testes.

 

3 horas atrás, valdirdill disse:

Essa variável UseCertificado é do provedor ou do município? Se eu baixar os fontes agora, o Fiorilli.ini vai estar UseCertificado=1. Então devo fazer testes em cada município para ver se deve ficar 0 ou 1 e tentar o envio?

 

Olá Valdir, bom dia.

Eu também uso o provedor Fiorilli. Atualizei todas as pastas do AcBr e fiz a configuração acima citada pelo Italo. Deu certo nos meus testes aqui. 

Espero ter ajudado.

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde a todos,

Atualizei o INI do provedor e já esta no repositório.

A principio essa configuração é igual para todas cidades.

  • Curtir 2
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

  • 4 semanas depois ...

Bom dia,

Utilizo o provedor IssDFS para a prefeitura de São Luis-MA, está ocorrendo os erros mencionados acima, alterei o arquivo ini para n UseCertificado=0 e deixou de gerar o erro   "Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT" , no entanto passou a gerar o erro "Unsupported Media Type (415) -'http://sistemas.semfaz.saoluis.ma.gov.br/WsNFe2/LoteRps.jws?wsdl'".

Alguém passou por isso ou sabe o que causa o erro pra poder nos dar uma luz?

Grato desde já.

61-env-lot-soap.xml

Link para o comentário
Compartilhar em outros sites

De acordo com https://httpstatuses.com/415 o servidor esta se recusando a atender a solicitação por estar em um formato de mídia invalido, alterei o content-type de :

'Content-Type: application/soap+xml; charset=utf-8'

para:

'Accept: application/soap+xml Content-Type: application/soap+xml; charset=utf-8'

 Aparentemente funcionou assim no entanto o acbr retornou um erro em branco, verificando os arquivos de retorno tive o seguinte erro:

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
	<S:Body>
		<S:Fault xmlns:ns4="http://www.w3.org/2003/05/soap-envelope">
			<faultcode>S:Client</faultcode>
			<faultstring>Cannot find dispatch method for {http://dsfnet.com.br}enviar</faultstring>
		</S:Fault>
	</S:Body>
</S:Envelope>

Obtenho o mesmo retorno se mudar a versão do soap para 1.0 no arquivo ini, assim o content-type vai como "text/xml".

Se alguém souber algo por gentileza avise.

Link para o comentário
Compartilhar em outros sites

  • 4 meses depois ...
  • 4 meses depois ...
  • 11 meses depois ...

Olá,

Estou tentando realizar a validação do Bloco X e está gerando a mensagem INTERNET_OPTION_CERT_CONTEXT : 12046.

O erro aparece na linha 160 do arquivo ACBrDFeHttpIndy. 

         if not InternetSetOption(Data, INTERNET_OPTION_CLIENT_CERT_CONTEXT, FpDFeSSL.CertContextWinApi, SizeOf(CERT_CONTEXT))

O arquivo está assinado.

As configurações de conexão utilizadas são:

      SSLCryptLib := cryCapicom;

      SSLHttpLib   := httpIndy;

     SSLLib            := libCapicomDelphiSoap;

 SSLXmlSignLib := xsMsXmlCapicom;

Atualizei o INI do provedor alterando para 0 as opções. O estado que estou tentando validar é MS.

Os fontes estão atualizados e fiz a implementação conforme exemplo da pasta.

Algum outro procedimento que posso realizar para resolver esse problema ?

Link para o comentário
Compartilhar em outros sites

  • 11 meses depois ...

Bom dia Pessoal,

Estou com o problema INTERNET_OPTION_CLIENT_CERT_CONTEXT: 6 no servidor Equiplano de Francisco Beltrão - PR, estava funcionando até ontem.

Tentei contato com a Equiplano, mandaram eu entrar em contato com a prefeitura que dizem que está tudo certo com o WebServices.

Alguém tem alguma dica?

Obrigado! 

 

Link para o comentário
Compartilhar em outros sites

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