Ir para conteúdo
  • Cadastre-se

dev botao

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


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

Recommended Posts

Postado

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.

  • Moderadores
Postado

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_Transparent-02.png
 

 

Postado

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.

- Sou desenvolvedor.

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

- Qualquer uma, sou desenvolvedor.

Postado (editado)

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
  • Moderadores
Postado

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_Transparent-02.png
 

 

Postado

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?

Postado

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.

  • 7 meses depois ...
Postado

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?

  • 1 ano depois...
Postado

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!

  • 1 ano depois...
Postado

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!

 

  • Solution
Postado
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
  • 1 mês depois ...
Postado

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.

  • 7 meses depois ...
Postado

Boa tarde @danielznt, você conseguiu resolver o seu problema? Estou com um caso parecido no windows 7 e certificado A3, consegui carregar o certificado conforme orientações acima, mas me retorna "Falha ao obter a Chave Privada do Certificado para comunicação segura".

Postado

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,

Postado
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..

  • 11 meses depois ...
Postado

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 ?

  • Moderadores
Postado
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.

 

 

 

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