NFePHP - Assinando xml com certificado A3 (Delphi + ACBr)

1,060 views
Skip to first unread message

Geranet Technology.

unread,
Feb 17, 2016, 12:40:47 PM2/17/16
to NFePHP
Alô pessoal do grupo!
Desde que consegui emitir nfe eu tenho feito vídeos sobre assuntos relacionados ao NFePHP.
Hoje eu postei um vídeo sobre como assinar nfe com certificado A3 (pendrive plugado na máquina do cliente) 
usando para isso uma pequena aplicação em Delphi com os componentes opensource do projeto ACBr.
Isso seria uma opção de solução para sistemas WEB aceitarem esse tipo de certificado que antes seria impossível.

link do vídeo:

NfePHP - assinando xml com certificado A3 (Delphi + ACBr) 

Denis Dos Santos Silva

unread,
Feb 17, 2016, 2:30:22 PM2/17/16
to NFePHP
legal! vamos conferir!!!

Roberto Machado

unread,
Feb 18, 2016, 5:34:29 AM2/18/16
to nfe...@googlegroups.com
Apenas um detalhe uma DANFE somente pode ser impressa DEPOIS que a NFe é enviada, aceita pela SEFAZ e de ser incluso o protocolo de aceitação. Antes disso seu XML não é uma NFe e nem tem valor.

Usando o A3, não só a assinatura deve ser feita pelo ACBr como também o envio via SOAP para a SEFAZ destino.

Roberto

David Pascoal

unread,
Feb 22, 2016, 2:50:17 PM2/22/16
to NFePHP
Muito criativo, parabéns pela solução.

Walker de Alencar

unread,
Feb 25, 2016, 10:57:21 AM2/25/16
to NFePHP
Foi exatamente o que eu pensei Roberto,

Mas se vc tiver o A1 para transmissão para receita, e o A3 para assinatura de documentos, esse procedimento que ele citou seria válido não?

Alguém já viu algo em GTK sobre o A3?

Roberto Machado

unread,
Feb 25, 2016, 11:25:17 AM2/25/16
to nfe...@googlegroups.com
Walker;

Isso é minimamente ILÓGICO, pois, o que os usuários querem com o A3 não é a maior segurança oferecida e sim a redução da despesa (ridícula) na compra do certificado.

Eu estou pesquisando o uso do A3 desde o inicio do projeto já consultei inclusive os autores do modulo ssl do PHP e o que eu ouvi foi, que não existe nenhuma perspectiva do uso do A3 no PHP nem agora e nem no futuro, pois o PHP segundo eles é uma linguagem "server" e o A3 não é para uso no servidor, pois teria que haver alguém no teclado do servidor para autorizar o uso, a cada chamada ao certificado (a API de acesso ao A3 exige que a senha seja digitada a cada solicitação, que é um dos elementos de segurança).

Eles estão cobertos de razão !  Uma alternativa seria o uso de um dispositivo criptográfico HSM que tem um valor no mínimo proibitivo e também não tem suporte com no PHP.

Existe um projeto, LibCriptoSec mas está anos luz de funcionar e quem for mexer nisso tem que ter muito bons conhecimentos em C++ e em Certificados digitais.

Então digo pela milionésima vez, se quiser usar A3 não será com PHP, use Java, .NET, Delphi, C#, C++ etc... e será obrigatoriamente uma aplicação DESKTOP.

Roberto

Bernardo Höhl

unread,
Feb 25, 2016, 11:48:08 AM2/25/16
to nfe...@googlegroups.com
Se seu cliente não pode comprar um certificado, talvez não possa pagá-lo por seu tempo. 

Sempre que posso, pelas esferas administrativas de nosso país, defendo a ideia do A1 valendo por 3 anos. 

No Mac OS X existe o TOKEND, que, se o software middleware do token der suporte ao TOKEND, a senha é digitada apenas 1 vez a cada login, dispensando o usuário de digitar a cada assinatura ou conversa. 

No meu App para Mac OS X eu "retenho" um objeto, retenho um "credential" que reciclo em todas assinaturas e conversas do meu App. Dispensando uma janela escolhendo o certificado (credencial) a cada assinatura ou conversa. 

Assim meu usuário precisa carregar seu certificado apenas 1 vez a cada "launch" do app, e o sistema operational exige a digitação da senha do certificado 1 vez a cada login. 

Não sei se melhoraria algo parecido no PHP, se fosse possível fazer. 

Mas ficam aqui meus comentários. 

Enviado do meu iPhone
--
--
Você recebeu esta mensagem porque está inscrito no Grupo "NFePHP".
Para Postar: nfe...@googlegroups.com
Para Sair do Grupo: nfephp+un...@googlegroups.com
Link: http://groups.google.com.br/group/nfephp?hl=pt-BR
-------
Repositório: https://github.com/nfephp-org/nfephp
---
Você recebeu essa mensagem porque está inscrito no grupo "NFePHP" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para nfephp+un...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/d/optout.

Roberto Machado

unread,
Feb 25, 2016, 11:50:55 AM2/25/16
to nfe...@googlegroups.com
Bernardo;

Sempre a informação é bem vinda, meu amigo, aprender é parte da vida e você me ensinou algo que eu não sabia que era possível.

Um abraço
Roberto

Reply all
Reply to author
Forward
0 new messages