Jump to content
Fivewin Brasil

Falha ao abrir certificado


sambomb

Recommended Posts

Boa tarde a todos.
Estou com um problema muito difícil de identificar.
A aplicação em alguns clientes windows 10, no momento de obter a lista de certificados digitais presentes na máquina exibe a mensagem que o aplicativo parou de funcionar.

O erro é esporádico, não ocorre todas as vezes.
Já validei antivirus, warsaw, gas, DEP do windows, permissão de administrador.
Reinstalei toda a cadeia de certificados.

O erro ocorre 1 ou 2 vezes por dia.

ParouDeFuncionar.png

Link to comment
Share on other sites

O Windows 10 esta atualizado?  veja isto: 

  • Execute MSCONFIG.
  • Clique na guia Serviços.
  • Clique na opção Ocultar todos os serviços Microsoft, em seguida clique no botão Desativar tudo.
  • Clique na guia Inicialização de ProgramasAbrir Gerenciador de tarefas e desabilite todos os programas que estão iniciando junto com o Windows.
  • Feche a janela de Gerenciador de Tarefas.
  • Na janela de Configurações de Sistema clique em OK, será solicitado o reinicio do computador confirme a solicitação clicando em Reiniciar.

Veja se resolve.

caso resolva.... você inicializa os serviços que foram desativados e testando até saber qual serviço causa o problema.... se não for isto  

Veja também:

https://answers.microsoft.com/pt-br/windows/forum/windows_10-update-winpc/certificado-digitais-pararam-de-funcionar/421ac8b1-1c04-4140-b10e-07cef6051c83

Link to comment
Share on other sites

Obrigado pela resposta.
Acredito que o problema que está se referindo é um pouco diferente do meu, o erro no meu caso é esporádico, não cessou totalmente de funcionar o certificado.
Algumas vezes ao dia, a abertura do certificado causa o problema de "sistema parou de funcionar".

Link to comment
Share on other sites

Com você está fazendo a chamada? Tem WHILE... ENDDO? Já tentou com um MSGRUN(...) Sem ver o código, fica dificil. Talvez, falte um HB_GCALL(  .F.  ) ou um SYSREFRESH() no local.  Tem algo errado na função ou a máquina tem pouca memórai. Em rWindows 10 de 64 Bits, o minimo é: 8 GBs de RAM ou mais.... Abs.

Link to comment
Share on other sites

 

Com você está fazendo a chamada? Tem WHILE... ENDDO? Já tentou com um MSGRUN(...) Sem ver o código, fica dificil. Talvez, falte um HB_GCALL(  .F.  ) ou um SYSREFRESH() no local.  Tem algo errado na função ou a máquina tem pouca memórai. Em rWindows 10 de 64 Bits, o minimo é: 8 GBs de RAM ou mais.... Abs.

do while .t.
	nTentativas++	
   nRet := ::oNFEUtil:PegaNomeCertificado( @Nome, @Mensagem )//<<<-- Erro acontece nessa linha

	if nRet <> 5402
		if nTentativas >= 3
			if pubLog; LogEvents( "PegaCertificado(): esgotadas as 3 tentativas para selecionar." ); end
			::GeraLog( Mensagem )
			lRet := .f.
			if ::lMensagem
				#IFDEF __DOS__
					Alert( hb_ansitooem(Mensagem+"-"+ProcName()) )
				#ELSE
					//MsgStop( Mensagem + CRLF + ProcName(), CAPTION_MSG )
					MsgStop( Mensagem + CRLF + ProcName() + CRLF + CRLF + "Esgotadas as 3 tentativas para efetuar a selecionar.", CAPTION_MSG )
				#ENDIF
			endif
			exit
		else
			loop	
		endif
	else
		::cCertificado := Nome
		exit	
	endif
enddo	

 

Link to comment
Share on other sites

Isto funciona perfeito: Acho que a sua VONFEUTIL2G.PRG está desatualizada.
Hable con Gilmer Tavares.

Method PegaCertificado( Nome ) Class TVoNFeUtil2G
	   local nRet,Mensagem:="",lRet:=.t.
	   Default Nome:=If(!Empty(::cCertificado),::cCertificado,"")
	   Try
	      nRet:=::oNFEUtil:PegaNomeCertificado(@Nome,@Mensagem)
	   CATCH
	      // MODIFICADO EM:16/12/2016 - Joao
      MsgStop( "Atenção Usuário:                                     " +CRLF+;
               "Instale um Certfificado Digital Válido Para Poder    " +CRLF+;
               "Usar a Nota Fiscal Eletrônica. Se Você Não Tem um    " +CRLF+;
               "Certificado Digital Válido, Consulte o Seu Contador  " +CRLF+;
               "ou a Sua Certificadora de Certificados Digitais Tipo:" +CRLF+;
               "Serasa Experian, Certisign, Ar São Paulo, Boa Vista. " +CRLF+;
               "Pronova, Digital Sign, Etc. Você Que Escolhe...      " +CRLF+;
               "Depois de Adquirir o Seu Certificado Digital,        " +CRLF+;
               "Instale-o, e Entre no Programa da Nota Fiscal e:     " +CRLF+;
               "<Click> no Botão: <Manutenção>  Depois no:           " +CRLF+;
               "Botão: <Trocar Certificado Digital da NF-e>.         " +CRLF+;
               "Tecle <Enter> Para Continuar...                      ",      ;
               "Instale um Certfificado Digital Válido da NF-e.      " )
	      Return(.f.)
	   End Try
	   If nRet!=5402 // Erro ao Selecionar o certificado
	      ::GeraLog(Mensagem)
	      lRet:=.f.
	      if ::lMensagem
	         #IFDEF __DOS__
            Alert( hb_ansitooem(Mensagem+"-"+ProcName()) )
         #ELSE
            MsgStop( Mensagem+CRLF+ProcName(),CAPTION_MSG )
         #ENDIF
      Endif
	   Else
	      ::cCertificado:=Nome
	   Endif
	Return(lRet)

Link to comment
Share on other sites

Você acessou o ecac da receita federal, para ver se o certificado está funcionando?

Se não estiver, o problema é do certificado.

E quando acontece isso comigo, eu peço pro pessoal da empresa que vendeu o certificado, pois eles acessam online e verificam o que está acontecendo.

 

Link to comment
Share on other sites

Eu faria assim, só que não...

	
   HB_GCALL( .F. )
	   do while .t.
	       nTentativas++
	       nRet := ::oNFEUtil:PegaNomeCertificado( @Nome, @Mensagem ) //<<<-- Erro acontece nessa linha
	       if nRet <> 5402
	          if nTentativas >= 3
	             if pubLog; LogEvents( "PegaCertificado(): esgotadas as 3 tentativas para selecionar." ); end
	                ::GeraLog( Mensagem )
	                lRet := .f.
	                if ::lMensagem
	                   #IFDEF __DOS__
	                      Alert( hb_ansitooem(Mensagem+"-"+ProcName()) )
	                   #ELSE
	                      //MsgStop( Mensagem + CRLF + ProcName(), CAPTION_MSG )
                      MsgStop( Mensagem + CRLF + ProcName() + CRLF + CRLF + "Esgotadas as 3 tentativas para efetuar a selecionar.", CAPTION_MSG )
	                  #ENDIF
	             endif
	             exit
	          else
	             SYSREFRESH()
	             loop
	          endif
	       else
	          ::cCertificado := Nome
	          SYSREFRESH()
	          exit
	       endif
	   enddo
	


 

Link to comment
Share on other sites

 

Você acessou o ecac da receita federal, para ver se o certificado está funcionando?

Se não estiver, o problema é do certificado.

E quando acontece isso comigo, eu peço pro pessoal da empresa que vendeu o certificado, pois eles acessam online e verificam o que está acontecendo.

 

Eu consigo fazer algumas vendas, o erro é esporádico.
Acredito que um erro no certificado iria impedir todas as vendas

Link to comment
Share on other sites

 

Eu faria assim, só que não...

 


	
   HB_GCALL( .F. )
	   do while .t.
	       nTentativas++
	       nRet := ::oNFEUtil:PegaNomeCertificado( @Nome, @Mensagem ) //<<<-- Erro acontece nessa linha
	       if nRet <> 5402
	          if nTentativas >= 3
	             if pubLog; LogEvents( "PegaCertificado(): esgotadas as 3 tentativas para selecionar." ); end
	                ::GeraLog( Mensagem )
	                lRet := .f.
	                if ::lMensagem
	                   #IFDEF __DOS__
	                      Alert( hb_ansitooem(Mensagem+"-"+ProcName()) )
	                   #ELSE
	                      //MsgStop( Mensagem + CRLF + ProcName(), CAPTION_MSG )
                      MsgStop( Mensagem + CRLF + ProcName() + CRLF + CRLF + "Esgotadas as 3 tentativas para efetuar a selecionar.", CAPTION_MSG )
	                  #ENDIF
	             endif
	             exit
	          else
	             SYSREFRESH()
	             loop
	          endif
	       else
	          ::cCertificado := Nome
	          SYSREFRESH()
	          exit
	       endif
	   enddo
	


Vou tentar Kapiaba, valeu

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...