Login Registre-se
(RESOLVIDO)Desenvolvimento WEB  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
airtonct

JavaC Membro

Membro desde: 09/06/2016 22:17:10
Mensagens: 49
Offline

Ola,

Estou começando a desenvolver uma aplicação para web e gostaria de saber como fazer para o sistema solicitar o certificado do cliente e como ele funciona.... alguém tem algum exemplo pronto ou uma breve explicação de como deve ser feito? Lembrando que esta solicitação é para assinar os xml`s e fazer o envio para a sefaz

Obrigado

Esta mensagem foi editada 1 vez. Última atualização foi em 05/09/2018 20:35:53

samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1211
Localização: Goiás
Online

Atualmente no cenario Java. Só é possivel com Certificado A1.
Onde vc deve fazer o Upload do Arquivo e salvar ou em banco (byte[]) ou Localmente no Servidor!

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rlira

JavaC Membro

Membro desde: 07/01/2015 15:45:55
Mensagens: 95
Localização: Olinda - PE
Offline

Olá Boa noite.

Como tenho um desenvolvimento em Web em Produção eu sei que existe uns "agentes" que ficam instalados no cliente já vi para Impressão Direta e para Certificado A3 também, num sei como fazem este lance ( gostaria muito de pelo menos ter uma noção de como faz ), eu mesmo precisei adquirir uma API de Impressão Direta

Robson Lira
Skype: robson.lira
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1211
Localização: Goiás
Online

Ah Sim. Dessa maneira Eu tenho Um Cliente Freelancer que fiz algo nesse modelo.

No Cliente Fica um Sistema Rodando no Tray, e esse Sistema Se Comunica em umSchedule com um Servidor Rest.
Quando existe Notas, ele recebe o XML pelo Servidor, assina e Envia. E envia o Retorno de Volta para o Servidor Rest.

É bem simples na verdade! A unica dor de cabeça é ter Esse Sistema No Cliente!

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
rlira

JavaC Membro

Membro desde: 07/01/2015 15:45:55
Mensagens: 95
Localização: Olinda - PE
Offline

Olá Samuel bom dia.

é cara existem varias soluções, vc fez uma solução elegante eu fiz algo parecido no final do ano de 2016 quando tive que implementar a NFe 55 em meu sistema por "solicitação" de um cliente, como o meu sistema é em Web fui fazendo e como esta parte de ws eu não quis fazer até porque seria outro desenvolvimento alem do que eu já estava fazendo para NFe ( regras de tributação, impostos, validações etc, etc, etc.... ) eu "pluguei" com o Uninfe, na ultima Hora de por pra rodar descobri que o Certificado do cliente era o A3 e me lasquei tive que "criar" uma solução para o problema do zero foi ai que valeu os anos de programação em Clipper/VFP criei um Utilitario que fica na maquina do Faturista e se comunica com o sistema em web via Http.

Não ficou muito elegante, sem grana para adquirir uma API que custa em média uns 2.500,00 e tem renovação anual e meu desenvolvimento foi a custo Zero so pra manter o cliente minha solução funciona assim o cara no sistema web faz o faturamento, acessa o sistema em VFP que passa o xml para o UNinfe e faz todo o processo de assinatura e envio

Agora este outro caso que citei "Os Agentes" são programas que leem o Certificado e ficam instalados local na maquina, eu acredito que com o fim dos Applet's tenho visto muitos "agentes" locais como do Itau, Bradesco

Robson Lira
Skype: robson.lira
airtonct

JavaC Membro

Membro desde: 09/06/2016 22:17:10
Mensagens: 49
Offline

Eu estava pesquisando no pai de todos e achei 3 coisas, não me aprofundei muito então vou perguntar aqui pois pode ser que alguém já saiba a resposta:
1-Achei um link da certsign onde ele faz a requisicao do certificado do cliente e retorna um json com os dados do certificado. Alguém já foi atras disso e sabe se esse json ira resolver a questão de assinatura dos xmls?
2-Achei uma api paga desenvolvida em javascript com um valor que ate então para mim é astronômico que garante resolver a comunicação neste sentido. Alguém contratou ou verificou se esta opção e valida?
3-Achei uma solução free chamada PKI que apresenta algumas soluções em javascript para certificado digital tb. Alguém foi atras desta solução?
Bom mandei estas pesquisas pois foi o q pude achar por hora, se alguém chegou a mexer com algum desses 3 poderia nos contar como foi a experiencia.
É deprimente estar desenvolvimento uma aplicação e ter que partir para a instalação de agentes locais na maq do cliente para fazer valida coes neste sentido. Eu não sei vcs mas me parece um pouco de descaso da Oracle para com os desenvolvedores que apoiam a linguagem Java, pelo que pude ver desde o fim do suporte de applets que o Java não apresenta uma solução para um problema que deve assombrar a grande maioria dos desenvolvedores.

Links:
Certsign https://www.certisign.com.br/produtos/desenvolvedores
Lacuna https://www.lacunasoftware.com/pt/certificate
PKI https://pkijs.org/

OBS: o ultimo olhei bem por cima e não pude verificar se realmente esta trabalhando com algo para certificados.
rlira

JavaC Membro

Membro desde: 07/01/2015 15:45:55
Mensagens: 95
Localização: Olinda - PE
Offline

Olá Airton bom dia.

Cara mais no java esta a solução sim.

O que antes era feito com Applet agora deve ser feita em JNLP com Java Web Start e devem ser assinados com um certificado CODE SIGNING.

vc podera fazer tudo isto que era feito com Applet, agora o certificado.... meu caro é uma grana e por isto que uma API por ai mesmo uma simples como uma de impressão direta deve hoje estar por volta de uns 400,00 eu não tenho como adquirir um certificado pagar sei lá digamos uns 600,00 com validade de um ano.

http://www.comodobr.com/produtos/certificado_codesigning.php

Mais vc consegue fazer isto ai tudo em java inclusive a titulo de ilustração tem um video no YT que mostra um produto um curso até que o instrutor comenta o que ele ensina https://www.youtube.com/watch?v=TPoFppwAUJs

Robson Lira
Skype: robson.lira
airtonct

JavaC Membro

Membro desde: 09/06/2016 22:17:10
Mensagens: 49
Offline

Ola boma dia,

Obrigado pelas respostas, bom como foi descrito pelo rlira parece que muitos usuários partiram para o java web start mesmo, eu particularmente não trabalhei com applet e também não faco a minima ideia de como comunicar o site com o programa desktop... provavelmente deve ser utilizado um Socket da vida ou um web service q pode ser implementado do lado do cliente e quando fazemos alguma coisa no navegador chamamos um localhost:porta e conseguimos realizar esta comunicação....
Se alguém já mexeu com isso tem uma pequena ideia de quais tecnologias estão envolvidas na aplicação desktop? Pois partindo deste principio temos mtas formas de implementar mas provavelmente deve ter uma que esta se destacando mais...


rlira

JavaC Membro

Membro desde: 07/01/2015 15:45:55
Mensagens: 95
Localização: Olinda - PE
Offline

Olá bom dia airtonct

Cara eu também gostaria de estar melhor na linguagem e poder entender melhor como se faz isto.

Robson Lira
Skype: robson.lira
rockenbach

JavaC Membro

Membro desde: 12/05/2014 09:55:32
Mensagens: 92
Offline

samuk boa tarde!
consegue dar mais datelhes de como implementou?
Preciso enviar reinf com certificado a3, mas meu servidor roda linux. e o certificado ta no lado cliente. to quebrando a cabeça como fazer
samuk.exe@hotmail.com

Moderador
[Avatar]

Membro desde: 31/08/2012 18:04:03
Mensagens: 1211
Localização: Goiás
Online

A 4º Msg esta bem detalhada!

Samuel Oliveira
Gerente de Projetos - Autocom Sistemas
Moderador (JavaC - Java Community)
samuk.exe@hotmail.com

API NFe/NFC-e -> http://www.javac.com.br/jc/posts/list/3160-biblioteca-javanfe-com-jaxb-nfenfce-simples-v-4001.page
API CTe -> http://www.javac.com.br/jc/posts/list/2765-projeto-api-javacte-com-jaxb-cte-simples-v-3001.page
API Certificado Digital -> http://www.javac.com.br/jc/posts/list/0/2869.page#14592
API Efd Icms -> http://www.javac.com.br/jc/posts/list/2812-projeto-biblioteca-javaefdicms-sped-simples-v-20200.page

Github - > https://github.com/Samuel-Oliveira
Github Java-NFe -> https://github.com/Samuel-Oliveira/Java_NFe
Github Java-CTe -> https://github.com/Samuel-Oliveira/Java_CTe
Github Java-MDFe -> https://github.com/Samuel-Oliveira/Java_MDFe
Github Java-Certificado -> https://github.com/Samuel-Oliveira/Java_Certificado
Github Java-Efd-Icms -> https://github.com/Samuel-Oliveira/Java-Efd-Icms
Github Java-Efd-Contribuicoes -> https://github.com/Samuel-Oliveira/Java-Efd-Contribuicoes
Github Java-Efd-Reinf -> https://github.com/Samuel-Oliveira/Java-Efd-Reinf
Github Java-eSocial -> https://github.com/Samuel-Oliveira/Java-eSocial
Github Java-SPC -> https://github.com/Samuel-Oliveira/Java-SPC

Membros do fórum,

Usem a tag [code] e [/code] quando postarem Códigos Java e ou exemplos de XMLs.
Evitem tópicos duplicados.
Tópico solucionado? Edite o primeiro post e coloque [RESOLVIDO] no final do título.
Evitem reviver tópicos antigos.

O tópico resolveu seu problema? Seja gentil, comente e ou agradeça quem contribuiu com a solução.

Obrigado!
[Email] [WWW]
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team