Login Registre-se
Assinar com certificado A3  XML
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Autor Mensagem
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Pessoal, bom dia.

Tenho um módulo aqui na empresa onde trabalho que emite a carta de correção eletronica (CCe) utilizando certificados do tipo A1. Até ai blza, tudo certo. XD
Entretanto, recebi uma notícia aos 45 minutos do segundo tempo...hehe, que tem vários clientes que utilizam certificados A3.
Tenho algumas dúvidas em relação a esta implementação, tipo:

Tem muita diferença comparado à implementação entre A1 e A3?

Aqui na comunidade tem algum artigo ou código referênte à assinatura com certificados A3?

Desde já agradeço..


"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
dodopok

Moderador
[Avatar]
Membro desde: 26/06/2012 08:09:43
Mensagens: 45
Localização: Araras, São Paulo
Offline

Opa, bom dia!

Então, a implementação depende.
Você assina o A1 através do Java? se sim, não vai ser MUITO diferente.
Pra mim foi complicado, pois eu assinava pelo PHP, então tive que programar um applet A3 em Java.

Pra começar com seu projeto de assinatura A3, segue o link

NF-e: Assinatura dos XMLs de Envio de Lote, Cancelamento e Inutilização - Certificado A3
http://www.javac.com.br/jc/posts/list/122-nfe-assinatura-dos-xmls-de-envio-de-lote-cancelamento-e-inutilizacao-certificado-a3.page

Existem mais coisas entre o céu e a terra do que sonha nossa vã filosofia. - William Shakespeare
[Email] [MSN]
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

dodopok wrote:Opa, bom dia!

Então, a implementação depende.
Você assina o A1 através do Java? se sim, não vai ser MUITO diferente.
Pra mim foi complicado, pois eu assinava pelo PHP, então tive que programar um applet A3 em Java.

Pra começar com seu projeto de assinatura A3, segue o link

NF-e: Assinatura dos XMLs de Envio de Lote, Cancelamento e Inutilização - Certificado A3
http://www.javac.com.br/jc/posts/list/122-nfe-assinatura-dos-xmls-de-envio-de-lote-cancelamento-e-inutilizacao-certificado-a3.page


E ai, dodopok!

Eu assino o A1 através de uma classe Java sim.

Vou estudar esse link que você postou, e comparar as diferenças da implementação entre A1 e A3.

Valeu..

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Na verdade eu utilizo uma classe disponibilizada pela comunidade para assinar com certificados A1.

olhando aqui por cima, vi que no método loadCertificates muda algumas coisitas..hehe

Queria saber se é apenas nesse método que devo alterar algo??

desculpa a ignorância.

Obrigado desde já...XD

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
dodopok

Moderador
[Avatar]
Membro desde: 26/06/2012 08:09:43
Mensagens: 45
Localização: Araras, São Paulo
Offline

Olha, eu não posso te falar com certeza, porque eu não sei como seu método de A1 funciona..!

Mas de A1 pra A3, é praticamente isso. (Pelo menos nos meus códigos)

Existem mais coisas entre o céu e a terra do que sonha nossa vã filosofia. - William Shakespeare
[Email] [MSN]
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

dodopok wrote:Olha, eu não posso te falar com certeza, porque eu não sei como seu método de A1 funciona..!

Mas de A1 pra A3, é praticamente isso. (Pelo menos nos meus códigos)


Blza dodopok!

Vou montar minha classe aqui, e qualquer coisa, posto na comunidade.

Abraço!

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
Quasar

JavaC Membro

Membro desde: 15/06/2012 09:57:00
Mensagens: 52
Offline

thibezerra,

o processo de assinatura é o mesmo, não importa a forma como a chave privada e os certificados foram obtidos (se é A1, A3 ou Made in China).

Somente o processo de obtenção é diferente e pelo código do link, é apenas no método loadCertificates mesmo.
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Quasar wrote:thibezerra,

o processo de assinatura é o mesmo, não importa a forma como a chave privada e os certificados foram obtidos (se é A1, A3 ou Made in China).

Somente o processo de obtenção é diferente e pelo código do link, é apenas no método loadCertificates mesmo.


Obrigado pela dica!

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Pessoal, montei uma classe aqui para assinatura com Certificado A3, segue:



Segue a classe principal (Main):



tenho que entregar um jar para o usuário para ele integrar o jar num ERP desenvolvido em progress.

To com várias duvidas.

--> os usuários tem na sua máquina o token plugado (como pego esse certificado sendo que este está fisicamente em outra máquina?)

-->tenho que configurar alguma outra coisa no meu projeto, como por exemplo, DLL's?

Só para adiantar não será nada desenvolvido na web.

Estou perguntando tanto assim, porque ainda não compreendi bem os passos que devem ser seguidos para realizar a comunicação do certificado A3 com minha função que estou implementando.

Qualquer Dica é bem Vinda..XD

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
Quasar

JavaC Membro

Membro desde: 15/06/2012 09:57:00
Mensagens: 52
Offline

thibeserra,

qto à segunda pergunta, pelo que sei o seu projeto já tá feito; a instalação e configuração do provedor SunPKCS11 é responsabilidade do usuário.
Os atributos de configuração estão especificados em arquivo (no seu caso, SmartCard.cfg). Nele deve constar, inclusive, o nome da biblioteca (DLL) com o
qual o provedor vai de comunicar.

Não se esqueça que na linha 79 deve constar o caminho do arquivo .cfg., p. ex., "c:/java/security/ext/SmartCard.cfg" ou "/ext/SmartCard.cfg".

Espero ter ajudado um pouco. Abraços
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Quasar wrote:thibeserra,

qto à segunda pergunta, pelo que sei o seu projeto já tá feito; a instalação e configuração do provedor SunPKCS11 é responsabilidade do usuário.
Os atributos de configuração estão especificados em arquivo (no seu caso, SmartCard.cfg). Nele deve constar, inclusive, o nome da biblioteca (DLL) com o
qual o provedor vai de comunicar.

Não se esqueça que na linha 79 deve constar o caminho do arquivo .cfg., p. ex., "c:/java/security/ext/SmartCard.cfg" ou "/ext/SmartCard.cfg".

Espero ter ajudado um pouco. Abraços


Ajudou sim cara!

Valeu pela dica, vou pesquisar aqui como vai ser esse arquivo de configuração.

Abrs!

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
Quasar

JavaC Membro

Membro desde: 15/06/2012 09:57:00
Mensagens: 52
Offline

Muitas vezes apenas essas 2 linhas são suficientes no arquivo .cfg

name = Nfe
library = /lib/libpkcs11.dll

Para name pode se qq nome
Para library, o caminho da dll (no caso de Windows)

PS. Nesse caso o método getName() da classe Provider vai retornar a String "SunPKCS11-Nfe".

Esta mensagem foi editada 1 vez. Última atualização foi em 04/07/2012 14:46:18

thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

Quasar wrote:Muitas vezes apenas essas 2 linhas são suficientes no arquivo .cfg

name = Nfe
library = /lib/libpkcs11.dll

Para name pode se qq nome
Para library, o caminho da dll (no caso de Windows)

PS. Nesse caso o método getName() da classe Provider vai retornar a String "SunPKCS11-Nfe".


Depois de um tempo, volto a perguntar sobre isso..hehe

até ai entendi, preciso do arquivo libpkcs11.dll pra windows

Mas onde encontro esse arquivo?

desculpa a demora, é que estava resolvendo outros problemas..hehe

Grato desde já! =)

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
dodopok

Moderador
[Avatar]
Membro desde: 26/06/2012 08:09:43
Mensagens: 45
Localização: Araras, São Paulo
Offline

Quando você instala o driver do seu certificado A3 na máquina, o instalador põe esse arquivo no computador, é automático.

Existem mais coisas entre o céu e a terra do que sonha nossa vã filosofia. - William Shakespeare
[Email] [MSN]
thibeserra

JavaC Membro
[Avatar]

Membro desde: 15/05/2012 14:44:59
Mensagens: 108
Offline

dodopok wrote:Quando você instala o driver do seu certificado A3 na máquina, o instalador põe esse arquivo no computador, é automático.


Entendi, mas no caso, ele joga esse arquivo em um diretório específico? Pois vou buscar esse certificado atraves de outra máquina.

Valeu pela ajuda =)

"Pensar é o trabalho mais pesado que há. Talvez seja essa a razão para tão poucos se dedicarem a isso." - Henry Ford
 
Índice dos Fóruns » NF-e / NFS-e / CT-e / CF-e / Certificados Digitais
Ir para:   
Powered by JForum 2.1.9 © JForum Team