Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 2628 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá amigos.. tenho um sistema multi-empresa, onde cada empresa tem seu certificado A3 para emissão de NFe.

No cadastro de cada empresa, eu tenho o número de série do certificado condizente a cada empresa, pois na hora de assinar a nota, eu carrego desta maneira:

ACBrNFe.Configuracoes.Certificados.NumeroSerie := DmDados.Query_Empresa.FieldByName('emp_numseriecertificado').value;

ACBrNFe.Configuracoes.Certificados.Senha := DmDados.Query_Empresa.FieldByName('emp_senhacertificado').value;

ACBrNFe.NotasFiscais.Assinar; 

Bom, até ai tudo bem.. O problema é quando, eu tento assinar uma nota da empresa A, e o certificado que está no leitor é o certificado da empresa B.

Com isso, pergunto: existe alguma maneira de verificar qual é o número de série que está atualmente no leitor de cartão A3 para poder comparar? Se não for o da empresa selecionada no sistema, eu exibiria uma mensagem para o usuário trocar o certificado...

Obs.: Tenho visto algumas outras perguntas aqui no fórum referente a perca da chave privada do certificado. Sei que, após várias tentativas inválidas de autenticação no cartão A3, o mesmo é invalidado pelo próprio software do fabricante do cartão(pelo menos em algumas marcas).. Pois se o sistema ficar tentando assinar um xml, e no leitor há outro cartão "espetado", corre o risco de perca do cartão por número de tentativa inválido(senha erra), Isto faz sentido?

Obrigado!

Renato

 

  • 2 semanas depois ...
  • Solution
Postado

Boa Tarde, Renato

Tenta desta forma, depois do certificado ser carregado.

if DmDados.Query_Empresa.FieldByName('emp_numseriecertificado').value = ACBrNFe1.SSL.CertNumeroSerie then

Abraços.

Miguel

  • Obrigado 1
Postado

Maravilha @mcob Miguel! Era o que eu precisava.. Apenas alterei para verificar o CNPJ ao invés do número de sério.

if DmDados.Query_Empresa.FieldByName('emp_cnpj').value = ACBrNFe1.SSL.CertCNPJ then

Valeu!

Abraço,

Renato

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