Ir para conteúdo
  • Cadastre-se

dev botao

Certificado Capicom x Openssl


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

Recommended Posts

Sei que este assunto já foi debatido por aqui, pois li diversos posts e nenhuma solução apresentada foi suficiente para eu resolver o problema.

Eu estou tentando usar o Openssl, para NFS-e, mas está batendo na trave. Recebo a mensagem de "erro ao ler informações do Certificado. Provavelmente a senha está incorreta". Exportei o certificado para  .pfx, lembrando que é um certificado piloto da Pref. de Curitiba. O Certificado está instalado perfeitamente, pois os testes dão todos positivos. Se eu usar o capicom.dll, recebo msg que o Certificado não existe. Já instalei o capicom.dll, msxml5.dll, deixei os arquivos na pasta windows\system32 e no syswow64. Mas não vai de jeito nenhum. Tenho um outro certificado válido, que funciona perfeitamente no NFe, e mesmo que associe este para a NFS-e, recebo a mensagem que o certificado não existe.

Além do além do caminho e nome do arquivo .pfx e a senha, preciso informar mais alguma coisa ??

Grato.

 

Daniel.

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Esta mensagem realmente indica algo errado no seu PFX ou senha... talvez você não tenha exportado as chaves privadas no 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

6 minutos atrás, dbrazoli disse:

Ok, Daniel.

vou refazer o processo.

Obrigado.

 

Então, Daniel.

Refiz a exportação. marquei para exportar as chaves privadas e recebo a mesma mensagem.

Arquivopfx = C:\Certificao-iss\insat_treinamento_2.pfx

Só tenho preenchido isso e a senha. Precisa de algo mais ?

Lembrando que no mmc, ele só me libera para exportar no padrão .pfx o registro do Personal.

Há alguma dll específica para ser registrada ?

Uso W10 e Delphi 7.

7 minutos atrás, Roseane Rocha disse:

Olá, Dbrazoli. 
Aconteceu o mesmo problema comigo. Tentei realizar o processo através de outro navegador e exportei as chaves privadas e deu certo.
www.educamundo.com.br

Obrigado pela dica Roseane.

 

Link para o comentário
Compartilhar em outros sites

3 horas atrás, dbrazoli disse:

Valeu.

vou usar um tempo estudando isso.

Obrigado por enquanto.

 

 

Daniel, boa tarde.

Refiz a instalação do acbr. Mas o erro se repete.

Há alguma forma de testar no componente este certificado ? Vi alguns comenando sobre o AcbrMonitor, mas eu só encontrei para Lazarus e nao para Delphi.

ABaixo msg da instalação.

INSTALANDO OUTROS REQUISITOS...

CAPICOM instalado com sucesso em "C:\WINDOWS\SysWOW64"

OPENSSL instalado com sucesso em "C:\WINDOWS\SysWOW64"

Outras DLL´s instaladas com sucesso em "C:\WINDOWS\SysWOW64"
 

Link para o comentário
Compartilhar em outros sites

Em 24/06/2016 at 15:26, Daniel Simoes disse:

Copie as DLLs na mesma pasta do .EXE... Teste no Demo do ACBrNFe...

Boa tarde.

Voltando ao assunto do certificado.

Já fiz e refiz o processo inúmeras vezes, usando o openssl, inclusive em outra maquina, testando o demo, associando o .pfx, e a mensagem que recebo é a mesma ( "erro ao ler informações do Certificado. Provavelmente a senha está incorreta" ).

Fiz um debug e percebi que no bloco abaixo 

    if EstaVazio(DadosPFX) then
      raise EACBrDFeException.Create('Erro ao Carregar Certificado');  // passa aqui

    FHTTP.Sock.SSL.PFX := DadosPFX;
    FHTTP.Sock.SSL.KeyPassword := Senha;

    if not LerPFXInfo(DadosPFX) then
      raise EACBrDFeException.Create('Erro ao ler informações do Certificado.'+sLineBreak+
                                     'Provavelmente a senha está errada' );

a senha estava vazia. Forcei a senha e ele passou, mas daí recebi a msg de que o "" certificado digital do prestador de serviços precisa ser informado". Me parece que não associou o certificado.

Já comentei aqui anteriormente, que se usar o capicom, recebo a msg de 'O certificado e requerido', mas está instalado, os navegodores encontram, associo no aplicativo, o site de homologação da prefeitura reconhece e vincula. Já não mais o que fazer. E como já comentei também, funcionava perfeitamente até 45 dias atrás.

Tem alguma coisa bem básica que está passando batido.

 

E eu atualizei os fontes e componentes há uma semana.


 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Analise o código anterior... Só cairá nesse IF se você não estiver informando o "ArquivoPFX" ou "DadosPFX"

   ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := edtCaminho.Text;
   ACBrNFe1.Configuracoes.Certificados.Senha      := edtSenha.Text;

 

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

1 hora atrás, Daniel Simoes disse:

Analise o código anterior... Só cairá nesse IF se você não estiver informando o "ArquivoPFX" ou "DadosPFX"


   ACBrNFe1.Configuracoes.Certificados.ArquivoPFX := edtCaminho.Text;
   ACBrNFe1.Configuracoes.Certificados.Senha      := edtSenha.Text;

 

Então Daniel, fiz  como vc orientou.

Mas tem alguma coisa errada mesmo.

No debug deste trecho  {$IFDEF ACBrNFSeOpenSSL}
   ACBrNFSe1.Configuracoes.Certificados.ArquivoPFX := trim(edtCaminho.Text);
   ACBrNFSe1.Configuracoes.Certificados.Senha       := trim(edtSenha.Text);
 {$ELSE}
   ACBrNFSe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text;
 {$ENDIF}

ele vai automaticamente para o numero de série, como se a diretiva estivesse false para acbrnfseOpenssl..

Onde esta variável é setada ?

No componente a única coisa que alterei foi o SSLib = LibOpenssl;

Eu estou usando o demo, para evitar que vicios em minha rotina atrapalhe a resolução.

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Pense um pouco... Centenas de desenvolvedores usam o ACBr com OpenSSL... Porque será que funciona com eles ?

Eu uso o  Demo do ACBrNFe em Lazarus... mas lembro que o Demo em Delphi já havia sido atualizado para suportar a escolha da biblioteca de criptografia, sem os IFDEFs... Verifique se você tem a versão atual do SVN... (na dúvida apague e baixe novamente)

Se conseguir reproduzir o problema no Demo do ACBrNFe, favor informar o passo a passo

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

2 minutos atrás, Daniel Simoes disse:

Pense um pouco... Centenas de desenvolvedores usam o ACBr com OpenSSL... Porque será que funciona com eles ?

Eu uso o  Demo do ACBrNFe em Lazarus... mas lembro que o Demo em Delphi já havia sido atualizado para suportar a escolha da biblioteca de criptografia, sem os IFDEFs... Verifique se você tem a versão atual do SVN... (na dúvida apague e baixe novamente)

Se conseguir reproduzir o problema no Demo do ACBrNFe, favor informar o passo a passo

Pois é, esta é a minha grande pergunta.

Por isso que disse que deve ser algo bem básico.

Já estou recriando um novo repositório, vou refazer tudo.

Obrigado pela ajuda.

 

Link para o comentário
Compartilhar em outros sites

  • Solution
22 horas atrás, dbrazoli disse:

Pois é, esta é a minha grande pergunta.

Por isso que disse que deve ser algo bem básico.

Já estou recriando um novo repositório, vou refazer tudo.

Obrigado pela ajuda.

 

Ao Daniel e outros colegas que fizeram sugestões.

Finalmente consegui fazer a transmissão, usando o certificado piloto da Pref. de Curitiba. Usei o Openssl, com o certificado exportado para .pfx.

Foram inúmeras ações, mas creio que a principal foi reinstalação total do repositório do SVN. Eu já havia reinstalado o Delphi mas usava o mesmo repositório, embora estive atualizado.

Desta vez, criei outro repositório, excluir todos os arquivos relacionados ao Acbr, inclusive os LibraryPath, enfim zerei o delphi e depois reinstalei. Fiz o primeiro teste com o Demo e depois readaptei o meu código. Mas alerto para o seguinte, mesmo no demo vem assim:

// {$IFDEF ACBrNFSeOpenSSL}
 //  ACBrNFSe1.Configuracoes.Certificados.certificado := edtCaminho.Text;
   ACBrNFSe1.Configuracoes.Certificados.Senha       := edtSenha.Text;
// {$ELSE}
   ACBrNFSe1.Configuracoes.Certificados.NumeroSerie := edtNumSerie.Text;
// {$ENDIF}
 

com a linha do arquivopfx comentado.

Descomentei e alterei para ' ACBrNFSe1.Configuracoes.Certificados.arquivopfx' dai corri para galera.

Obrigado a todos, especialmente ao Daniel pela paciência e forma de orientar, me fazendo pensar um pouco mais. Às vezes mesmo experientes na área precisam de um desafio além da caixinha.

Abraço.

* pode fechar o post. (quem faz isso ?)

 

 

 

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...