Ir para conteúdo
  • Cadastre-se

dev botao

Salvando Os Dados Do Certificado Para Futura Utilização


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

Recommended Posts

Boa noite a todos!

 

Procurei pelo forum e não encontrei nada relacionado, caso exista, peço desculpa e agradesço pela resposta me orientando sobre o mesmo.

Bom, minha dúvida é se existe uma maneira de ler um certificado digital e guardar os dados em banco ou arquivo e usar esses dados futuramente, para consulta, assinatura, em fim tudo que precise do certificado digital.

 

O motivo da pergunta, que já vi sistema guardando esses dados e depois que vi isso fiquei com isso martelando na cabeça, pois vai me ajudar muito se isso for possivel. Alguém pode se perguntar, e a segurança de deixar desta maneira, nós desenvolvedores podemos criar N tipos de segurança para utilizar os dados somente quando alguém realmente tiver autorização.

 

Caso isso seja possivel, seria só colocar uma paramentro nos metodos do componente, que se informar dos dados do certificado, não precisa solicitar a leitura (token, cartão, etc). Com isso, vou conseguir deixa a minha camada servidora fazendo a autenticação dos dados e camanda cliente pode ser de qualquer tipo (desktop, web, android, etc) .

 

Obrigado pela atenção.

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

Posso estar errado, mas pelo conhecimento que possuo:

 

1 - se for certificado A3, pode esquecer... Eles foram feitos exatamente para funcionar somente qdo o cartao ou o token estiverem conectador na maquina

 

2 - se for o A1, e vc não está usando a CAPICOM para assinatura e uso do certificado, pode até ser que de certo, tente isso: 

 - leia o arquivo .pfx  do certificado digital para dentro do seu banco de dados, como muitos fazem com os arquivos XML
 - sempre que vc quiser utilizar o certificado, crie um arquivo .pfx com o conteudo gravado em seu banco de dados num determinado local
 - depois de utilizar o certificado, apague o arquivo que vc criou
Link para o comentário
Compartilhar em outros sites

Boa tarde Igor,

 

Como não tenho conhecimento detalhado do processo do uso do certificado, tentei entender o processo no fonte mas não consegui ter certeza.

Por exemplo, o processo onde o componente ler o certificado e pega os dados, não poderia esses mesmos dados serem salvos e usado mais tarde. Existe algum processo onde muda os dados a cada leitura?

Caso não tenha jeito, conseguiria de alguma forma ler o certificado e enviar os dados para realizar a assinatura na camada servidora, pois na camada cliente não será desenvolvido em delphi?

Link para o comentário
Compartilhar em outros sites

infelizmente nao tenho o conhecimento necessario para te responder com precisao...

 

o q eu sei é o que eu ja disse.

Se for o certificado A3 creio que vc soh consigará utiliza-lo qdo o token ou cartao estiverem conectador ao pc em questao (pq é pra isso que ele foi feito)

 

Se for o certificado A1 da pra tentar fazer o q eu falei.

Link para o comentário
Compartilhar em outros sites

Entendi, vou ver se consigo aprofundar nesse assunto, pois até entendo que tenha que ler o A3, mas se sempre for o mesmo dado o que me impede de ler e salvar, talvez seja mudado algo a cada leitura, bom preciso aprofundar no assunto. 

 

Obrigado Igor.

Link para o comentário
Compartilhar em outros sites

como eu disse, eu nao entendo muito, mas imagino que seja algo assim:

 

para fazer a assinatura digital vc precisa de 2 chaves: 1 publica e 1 privada.

 

o certificado token ou cartao  deve receber os dados que se quer assinar e devolver a assinatura.

pode ser que de para extrair a assinatura publica, mas nao acho que a privada seja acessivel.

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Não sei se entendi bem sua dúvida, mas o certificado é usado para assinar os arquivos, não é somente uma questão de gravar os dados em algum lugar para usar depois, o certificado A1 com certeza pode ser copiado porque é um arquivo comum, mas ao exportar o certificado será criada uma senha pelo usuário e você precisará dela, já o A3 é impossível copiar ele como um arquivo normal, porque ele roda como o Igor disse direto do token ou cartão, o A3 é mais seguro justamente por conta dessa funcionalidade.

 

Se o seu problema é ter o certificado centralizado, pode fazer um app para assinar arquivos ou mesmo usar um método na camada do servidor para isso assim você tem o certificado em centralizado nesse servidor, se o seu aplicativo for 3 camadas é bem simples de fazer inclusive.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...

Bom dia, Régys  

 

Eu tenho um sistema em 3 camadas. se eu entendi eu posso instalar o certificado ( A3 - com leitora ) no servidor e utilizar nas estações ( sistema ) para enviar NF-e chamando um método por exemplo ( assinar NF-e ) os demais passos eu faria local gerar XML, validar ? Se sim teria como você me passa algumas dicas de como fazer isso?  Teria como me explicar melhor como funcionaria ?

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

No meu caso as filiais ficam conectadas o dia inteiro via VPN consumindo os recursos do ACBRNFeMonitor centralizado com o certificado A3 da matriz (que pode assinar por ela  e qualquer filiail). Quando não tem internet, interrompem temporariamente a emissão de notas até que um celular, modem 3G ou qualquer outro meio de acesso à internet seja disponibilizado na rede daquela filial.

Link para o comentário
Compartilhar em outros sites

Então numa rede interna sim, mas em rede externa ?  mas fiquei curioso para opção que o Regys comentou vou ficar no aguardo de algum comentário dele .

 

Obrigado.

O que o Regys quis dizer (acredito eu) é exatamente o que o ACBrMonitor faz:

um app para assinar arquivos que fica rodando na maquina do servidor.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Bom dia, estava lendo o fórum e acho o que você procura seria: 

Armazenar os dados:
Edit1.Text := ACBrNFe1.Configuracoes.Certificados.SelecionarCertificado;

Edit2.Text := 123456; //Senha do certificado

Utilizar os dados:
ACBrNFe1.Configuracoes.Certificados.NumeroSerie:=Edit1.Text;
ACBrNFe1.Configuracoes.Certificados.Senha:=Edit2.Text;

OBS: Pode trocar os campos EDITS por campo no seu banco de dados, esse comandos só armazenam as dados para que não seja preciso digitar sempre que for enviar uma nota, pois o certificado tem que estar presente na maquina sempre.

 

 

 

 

Link para o comentário
Compartilhar em outros sites

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