Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

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
Postado

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
Postado

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?

Postado

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.

Postado

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.

Postado

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.

  • Moderadores
Postado

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
  • 2 semanas depois ...
Postado

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.

Postado

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.

Postado

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.

  • 2 meses depois ...
Postado

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.

 

 

 

 

  • 8 meses depois ...
Postado

Pessoal, sobre o ACBrMonitor, é possível deixar ele rodando em um servidor com um certificado A3 e meu cliente acessá-lo para ele assine? E a senha? Não é necessário digitá-la?

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

The popup will be closed in 10 segundos...