Ir para conteúdo
  • Cadastre-se

dev botao

Assinatura com certificado físico


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

Recommended Posts

Postado

Boa Tarde.

 

Estou montando um serviço REST aqui na minha empresa para envio de NFS-e. Para não precisar instalar os certificados de todos os clientes aqui no servidor, tentei criar uma pasta separando por cliente cada um com seus certificados.

Meu problema é que estou passando parâmetro ArquivoPFX e a Senha mas na hora de enviar ele volta dizendo que a assinatura esta errada, se eu utilizo o NumeroSerie com o certificado instalado na maquina funciona.

Sou obrigado instalar o certificado na maquina para enviar pelo ACBr?

Postado
7 minutos atrás, Italo Jurisato Junior disse:

Boa tarde,

Como você esta passando o caminho e o nome do arquivo PFX para a propriedade ArquivoPFX?

Italo, o caminho todo: C:\pasta do certificado\arquivo PFX

Única coisa que não me atentei que no nome do arquivo tem um "-" e um "&", será que pode interferir?

 

Postado
6 minutos atrás, Italo Jurisato Junior disse:

O traço não mas o e comercial acredito que pode dar problema sim.

Por via das duvidas, remova do nome do arquivo. 

Bem, configurei o componente colocando o parâmetro ArquivoPFX = "F:\Certificados\1207\1207.pfx" e a senha 123456 enviando nota para a Betha (cidade Porto União/SC) e esta retornando erro de assinatura, se eu instalo o certificado e passo o NumeroSerie, ele vai normal...  

Postado

Descobri o problema, muitos dos clientes que utilizam o sistema em que eu trabalho, usam o provedor Betha para envio de nota, e este mesmo provedor disponibiliza um certificado para enviar nota.

O problema que o certificado que o provedor gera, dentro do arquivo PFX tem 2 chaves publica, então quando carrega o certificado, tem na verdade 2, um com o numero de série 2 com o nome Betha e outro com o numero de série 10 com o nome do cliente.

FCertificado := CoCertificate.Create;

KeyLocation := CAPICOM_CURRENT_USER_KEY;
if Integer(FpDFeSSL.StoreLocation) = CAPICOM_LOCAL_MACHINE_STORE then
  KeyLocation := CAPICOM_LOCAL_MACHINE_KEY;

FCertificado.Load( WideString(FpDFeSSL.ArquivoPFX), WideString(FpDFeSSL.Senha),
                   CAPICOM_KEY_STORAGE_DEFAULT, KeyLocation);

Na hora de dar Load do arquivo PFX na classe do certificado, ele pega o certificado de numero de série 2, e eu preciso do 10.

Vou ver se tem como pegar o outro, Italo tem alguma sugestão para o meu problema?

  • Curtir 1
  • Solution
Postado

Bom dia.

Consegui resolver meu problema convertendo meu arquivo PFX para PEM, tirei a chave publica que não precisava e reconverti para PFX.

Obrigado pela ajuda.

  • Curtir 1
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

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

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

The popup will be closed in 10 segundos...