Ir para conteúdo
  • Cadastre-se

dev botao

Acbrnfe Em Service Application - Certificado Digital Não Encontrado!


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

Recommended Posts

Bom dia.

 

Estou desenvolvendo um serviço para consulta de status de NFe's transmitidas. Faço a consulta pela chave de acesso: ACBrNFe1.WebServices.Consulta.NFeChave := ...

 

mas quando passo pelo método ACBrNFe1.WebServices.Consulta.Executar, ocorre o seguinte erro: "Certificado Digital não encontrado!".

 

Para testar, fiz uma aplicação com a mesma funcionalidade do serviço e funciona normalmente, ou seja, consigo pegar o retorno (ACBrNFe1.WebServices.Consulta.cStat).

 

Alguém pode me dizer por que esse erro ocorre somente em service application?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Sim o problema é que vai depender dele ter permissão de acesso aos registros

tente colocar um usuário e senha pra iniciar o teu serviço como administrador

senão funcionar é regra do windows, lembro de ter tentado fazer algo e cair nessa situação 

lembre-se ele não é uma aplicação normal é um serviço que vai ser iniciado mesmo que você não loge no windows

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Complementando o que o Juliomar falou: o usuário que executa o serviço tem que ter o certificado instalado, ou seja, tem que logar no windows com este usuário e deixar o ambiente todo pronto.

 

Pessoal,muito obrigado pela atenção.

 

O ambiente está configurado corretamente, pois como disse anteriormente a aplicação funciona normalmente, somente como serviço que ocorre o erro.

 

Segui a dica do Juliomar, adicionei usuário e senha com perfil de administrador ao serviço, mas o erro persiste.

 

Como eu preciso de uma aplicação que rode em segundo plano, inicialmente pensei em desenvolver um serviço, mas parece que o ACBr tem algum empecilho quanto a isso. Acho que vou desenvolver uma aplicação com TrayIcon para resolver o problema.

 

De qualquer forma, obrigado.

Editado por Reinaldo Silveira
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Não é o ACBr mas sim o acesso ao certificado

por exemplo fiz um serviço para impressão de pdf, mas não rodava então fiz vários logs e debug até que achei que mesmo com o usuário administrador

ele não consegui iniciar pois no registro do windows ele não liberava a informação das impressoras

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Não é o ACBr mas sim o acesso ao certificado

por exemplo fiz um serviço para impressão de pdf, mas não rodava então fiz vários logs e debug até que achei que mesmo com o usuário administrador

ele não consegui iniciar pois no registro do windows ele não liberava a informação das impressoras

 

Entendo. No seu caso você conseguiu solucionar de alguma maneira?

Link para o comentário
Compartilhar em outros sites

Pessoal,muito obrigado pela atenção.

 

O ambiente está configurado corretamente, pois como disse anteriormente a aplicação funciona normalmente, somente como serviço que ocorre o erro.

 

Segui a dica do Juliomar, adicionei usuário e senha com perfil de administrador ao serviço, mas o erro persiste.

 

Como eu preciso de uma aplicação que rode em segundo plano, inicialmente pensei em desenvolver um serviço, mas parece que o ACBr tem algum empecilho quanto a isso. Acho que vou desenvolver uma aplicação com TrayIcon para resolver o problema.

 

De qualquer forma, obrigado.

Acredito que não seja problema do ACBr, visto que tenho um windows service utilizando ele e rodando tranquilamente a aproximadamente 2 anos.

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Ainda não , já procurei soluções na msdn, stackworflow e não encontrei nada que conseguisse liberar esse acesso ao serviço do windows

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois ...

Boa noite a todos.

 

Mark Apollo vc disse que tem um Windows Service rodando, mas nele vc usa algum desses métodos de buscar NF-e?

Estou com o mesmo problema do Reinaldo Silveira, só que no meu caso estou buscando NF-e destinada.

Em um form VCL vai normalmente, porém em Windows Service dá mensagem de "Certificado não encontrado".

 

Alguém conseguiu resolver?

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Olá pessoal.

 

Após tanto tempo resolvi trabalhar nesta questão novamente.

Segui a dica do Juliomar Marchetti e finalmente funcionou!

Simplesmente adicionei na cláusula uses do form principal as units Windows, Forms e ActiveX.

Adicionalmente, configurei no serviço um usuário com privilégios de administrador, e instalei o certificado digital no perfil deste usuário.

 

Obrigado a todos pela ajuda!

Link para o comentário
Compartilhar em outros sites

  • 1 ano depois...

Boa tarde Reinaldo, você poderia me informar o passo a passo de cada coisa que vc fez?

Por exemplo, no meu caso, estou utilizando um service application onde tenho uma unit Principal que não é um form por padrão.

Como adiciono e configuro no serviço um usuário com privilégios de administrador, e instalei o certificado digital no perfil deste usuário?

Desde já agradeço!

 

Link para o comentário
Compartilhar em outros sites

  • Solution
14 horas atrás, italoluz disse:

Boa tarde Reinaldo, você poderia me informar o passo a passo de cada coisa que vc fez?

Por exemplo, no meu caso, estou utilizando um service application onde tenho uma unit Principal que não é um form por padrão.

Como adiciono e configuro no serviço um usuário com privilégios de administrador, e instalei o certificado digital no perfil deste usuário?

Desde já agradeço!

 

Olá italoluz!

Eu me expressei mal, na verdade eu me referia à Unit principal (e não Form), onde eu declarei: Windows, Forms e ActiveX em uses.

Se não estou esquecendo de nada, os passos foram os seguintes:

1) após criado o serviço no Delphi, é necessário instalá-lo (via prompt: C:\caminho_do_servico\nome_do_servico.exe /install

2) após instalado, vá em services.msc (menu executar). Botão direito sobre o serviço, propriedades, logon. Em 'esta conta', informe um nome de usuário e senha que possua privilégios administrativos (é importante que a senha deste usuário esteja definida para nunca expirar - para evitar problemas futuros)

3) logue no Windows usando esse mesmo usuário, e instale o certificado digital por lá

4) volte em services.msc e inicie o serviço.

 

Bom, acho que foi somente isso. Espero ter ajudado.

Abraços.

 

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

  • 1 mês depois ...

Boa tarde @Reinaldo Silveira e @Mark Apollo,

Estou com uma situação parecida. Desenvolvi um serviço do Windows para fazer toda parte de emissão e consultas de NFe, visto que meu cliente possui um certificado A3 e quer usar de mais de uma maquina. Faço toda a comunicação entre meu sistema e o serviço através de um banco especifico para troca das informações e o serviço fica encarregado de receber tais consultas/emissões, executa-las e enviar a resposta. A questão que vem é a seguinte. Com o Windows 10 funciona perfeitamente, porém quando o cliente possui um Windows 7, eu fico recebendo a mensagem de Inativo ou inoperante, e reparo que o led do leitor do cartão nem chega a piscar, dando impressão que não houve comunicação com o certificado digital. Experimentei rodar no Windows 7 com um certificado A1, e nesse caso funcionou. Não sei então se o problema é o acesso efetivo ao certificado A3 ou a leitora. Vocês saberiam de algo que eu pudesse fazer ou conseguiram rodar esses serviços com A3 no Windows 7 ? 

 

Obs:- Já esta adicionada na Unit Principal e no projeto as Uses Windows, Forms e ActiveX, e também o serviço esta configurado com o usuário administrador.

 

Obrigado desde já pela atenção.

Link para o comentário
Compartilhar em outros sites

  • 7 meses depois ...

Boa tarde @jGuto,

Após vários testes e horas sem sucesso, acabei desistindo da solução em modo serviço do Windows, na verdade colocando na geladeira. Acabei desenvolvendo em modo gráfico e deixando rodando na bandeja do sistema. Não é exatamente como eu queria pois isso exige que o servidor esteja logado, porém até conseguir contornar a situação ficou dessa maneira.

Infelizmente não consegui. Faz um tempo que não tento mais, porém se não me falha a memória o erro era esse mesmo ou inativo e inoperante por não conseguir carregar o certificado.

Se eu tiver algum sucesso mais a frente eu comunico, se você conseguir e puder postar aqui também fico agradecido.

Att,

Link para o comentário
Compartilhar em outros sites

14 horas atrás, Juliomar Marchetti disse:

Use o certificado via OpenSSl que vai funcionar.

OpenSSL não é somente para certificados do Tipo A1?

 

15 horas atrás, danielznt disse:

Boa tarde @jGuto,

Após vários testes e horas sem sucesso, acabei desistindo da solução em modo serviço do Windows, na verdade colocando na geladeira. Acabei desenvolvendo em modo gráfico e deixando rodando na bandeja do sistema. Não é exatamente como eu queria pois isso exige que o servidor esteja logado, porém até conseguir contornar a situação ficou dessa maneira.

Infelizmente não consegui. Faz um tempo que não tento mais, porém se não me falha a memória o erro era esse mesmo ou inativo e inoperante por não conseguir carregar o certificado.

Se eu tiver algum sucesso mais a frente eu comunico, se você conseguir e puder postar aqui também fico agradecido.

Att,

Ok, obrigado..

Link para o comentário
Compartilhar em outros sites

  • 11 meses depois ...
  • Moderadores
1 minuto atrás, Henrique_Raitz disse:

Boa tarde pessoal. Tentei reproduzir os passos de vocês e no entanto não consegui uma solução. Rodando o programa como um serviço ainda não encontra o certificado A3.

Alguém conseguiu resolver ? Fez algo diferente ?

Boa tarde, Henrique_Raitz.

Tópico antigo. Sugiro que crie um novo.

  • Curtir 1
Equipe ACBr

Felipe Eduardo Resende Mesquita

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

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