Ir para conteúdo
  • Cadastre-se

dev botao

ObterCertificados - NFe


Ver Solução Respondido por Renato Rubinho,

Recommended Posts

  • Membros Pro
Postado (editado)

- Bom dia, estou tentando obter o vencimento de um certificado em PHP com a função NFE_ObterCertificados(), o interessante é que a consulta de status de serviço funciona certinho, logo achei que essa função também daria certo mas obtenho o seguinte erro:  {"mensagem":"Erro ao obter certificados Código de erro: -1. "}, o que pode ser?

att;

HASA

Editado por HASA
  • Membros Pro
Postado

Como estou testando localHost win então WinCrypt que deu certo a consulta Status, mas na web será Linux ai devo passar para OpenSSL correto? ( aproveitando a dica ).

Excelente final de semana e até segunda.

Att;

HASA

  • Membros Pro
Postado

Bom dia, 

UltimoRetorno = {"mensagem":"Erro ao obter certificados Código de erro: -1. "}

-10

Estou fazendo a chama como as demais, consulta status ok salvar e ler INI ok.

Att;

HASA

  • Administradores
Postado

Bom dia @HASA

Consegue por favor anexar o log no nível paranóico conforme citado pelo Rubinho?

At

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
  • Solution
Postado

No seu log não consta que você indicou o arquivo *.p12, você deve utilizar o arquivo *.pfx nesta chave

21/10/24 11:18:59:608 - LIB_ConfigGravarValor(DFe, ArquivoPFX, C:\xampp\htdocs\dashboard\CURSO_ERP\saciweb/teste/certificados/VC 2025 00531817000196.p12)

 

  • Curtir 1
  • Membros Pro
Postado

- Boa tarde, mas como disse a consulta status de serviço da NFE funciona certinho, inclusive se eu retiro esse arquivo: VC 2025 00531817000196.p12 da erro de falta do certificado. E ainda é o meu certificado A1 que emito nota pelo site da PMSP?

att;

HASA.

  • Consultores
Postado

Você está correto, eu não sabia dessa informação, mas o p12 e o pfx possuem o mesmo conteúdo, basicamente o mesmo arquivo.

Voltando ao seu problema, utilizando WinCrypt o método ObterCertificados irá buscar os certificados instalados no Windows.

Como você está utilizando o arquivo diretamente, altere as configurações de SSL para utilizar OpenSSL para obter as informações do arquivo.

 

  • Curtir 1
  • Membros Pro
Postado

Bom dia, se eu deixar essa combinação não lê o certificado, mas vc tem razão na nuvem é linux com WinCrypt vai dar ruim.

SSLCryptLib=1
SSLHttpLib=3
SSLXmlSignLib=4

da esses erros:

{"mensagem":"Erro ao consultar status do serviço Código de erro: -10. Último retorno: WebService Consulta Status serviço:
- Inativo ou Inoperante tente novamente.
Erro ao ler informações do Certificado.
Provavelmente a senha está errada
Error: 310378599 - error:12800067:DSO support routines::could not load the shared library"}null

Já com a combinação:

SSLCryptLib=3
SSLHttpLib=2
SSLXmlSignLib=4

[Status]
CStat=107
CUF=35
DhRecbto=22/10/2024 09:38:01
DhRetorno=
Msg=Serviço em Operação
TMed=1
VerAplic=SP_NFE_PL009_V4
Versao=4.00
XMotivo=Serviço em Operação
XObs=
tpAmb=2

Ou seja não é a senha como diz acima :-(

att; 

HASA

  • Membros Pro
Postado

Renato boa tarde, estava apenas informando quanto ao servidor LInux, por ora estou homologando em LOCALHOST "windows", depois que passar os testes ai vou enviar para "nuvem" que é Linux ok.

Ainda continuo com o problema em WINDOWS ok

att;

HASA

  • Membros Pro
Postado

Boa tarde, apenas completabdo no acbrlib EXEMPLOS PHP, não tem o equivalente essa opção :

ACBrNFe.Configuracoes.Geral.SSLLib        := libOpenSSL;

Não sei se ajuda ok!

Att;

HASA

  • Consultores
Postado
7 horas atrás, HASA disse:

SSLCryptLib=1
SSLHttpLib=3
SSLXmlSignLib=4

Utilizando a OpenSSL, você precisa habilitar a extensão OpenSSL no PHP ou copiar as dlls distribuídas como dependências no arquivo que você baixou a Lib, veja na pasta dep.

Copie as dlls da mesma arquitetura que você instalou seu xamp (x86 ou x64)

Utilize o método NFE_OpenSSLInfo para verificar de onde as dlls estão sendo utilizadas.

  • Membros Pro
Postado

Boa tarde, segue consulta NFE_OpenSSLInfo :

OpenSSLVersion: OpenSSL 3.1.3 19 Sep 2023
OpenSSLFullVersion: 03.01.00.030
SSLUtilFile: C:\\xampp\\apache\\bin\\libcrypto-3-x64.dll
SSLLibFile: C:\\xampp\\apache\\bin\\libssl-3-x64.dll

Consigo alterar esse caminho?

att; 

HASA

 

  • Membros Pro
Postado

EM TEMPO:

Apache Version Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12
Apache API Version 20120211
Server Administrator postmaster@localhost
Hostname:Port localhost:80
Max Requests Per Child: 0 - Keep Alive: on - Max Per Connection: 100
Timeouts Connection: 300 - Keep-Alive: 5
Virtual Server No
Server Root C:/xampp/apache

 

ATT;

HASA

  • Consultores
Postado
3 horas atrás, HASA disse:

Consigo alterar esse caminho?

Deve ter alguma opção para "desabilitar" a OpenSSL no xampp, caso contrário ela provavelmente irá prevalecer sobre qualquer outra do computador. 

11 horas atrás, HASA disse:

Erro ao ler informações do Certificado.
Provavelmente a senha está errada

Tivemos situações relacionadas à OpenSSL 3 com esse erro, veja o tópico a seguir: 

Conforme o tópico acima indica:

* Veja se existe a legacy.dll junto das demais dlls na pasta C:\\xampp\\apache\\bin\

* Tente instalar o certificado no Windows, exportar novamente e veja se resolve o problema de leitura pela OpenSSL.

* Se não resolver, tente desativar a OpenSSL no xampp e copie as dlls distribuídas com a lib para a pasta onde está salvando a Lib.

 

  • Membros Pro
Postado

Bom dia!

* Veja se existe a legacy.dll junto das demais dlls na pasta C:\\xampp\\apache\\bin\

Resposta: Não tem esse arquivo na pasta.

* Tente instalar o certificado no Windows, exportar novamente e veja se resolve o problema de leitura pela OpenSSL.

Resposta: Exportei e salvei como PFX com chave privada, mudei para:

[DFe]
SSLCryptLib=1
SSLHttpLib=3
SSLXmlSignLib=4

E leu certinho, com a extensão original .p12 dava erro de senha.

* Se não resolver, tente desativar a OpenSSL no xampp e copie as dlls distribuídas com a lib para a pasta onde está salvando a Lib.

Quanto a esse passo desativei ai o apache não subiu, voltei.

Contudo aparentemente certo o erro continua: {Erro ao obter certificados Código de erro: -1}

 

  • Membros Pro
Postado

# Completando #

Estou usando da NFE_ ... para centralizar a consulta de cnpj e consulta status de serviço da NFE. Não sei se tem CONSULTA DE STATUS para nfse.

 :

Essas testei na NFE_ e NFSE_

LER E SALVAR INI: OK! 

OPENSSLINFO: OK! 

Ou seja está funcionando parcialmente ok

att;

HASA

  • Membros Pro
Postado

Olá Renato, devo estar fazendo algo errado para obter o log, veja que no log anexo não tem a chamada que fiz para ObterCertificados, e no INI está LogNivel=4? Devo encaminhar mais algum valor para o LOG ser acionado ? Só tem log de gravação do INI principal os demais chamadas não grava nada ?

Anexo tbm o pedido de consulta do cnpj só para vc ver que está ok.

att;

HASA

20241023155903-ped-cad.xml 20241023155904-cad.xml ACBrLibNFE-20241023.log

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