ZeusAutomacao / DFe.NET

Biblioteca para Geração de NFe(2.0, 3.10 e 4.0) e NFCe(3.10 e 4.0) e consumo dos serviços necessários à sua manutenção, conforme descritos em http://www.nfe.fazenda.gov.br/portal/principal.aspx
GNU Lesser General Public License v2.1
755 stars 479 forks source link

Assinatura de NFe #455

Closed felipedrumond closed 5 years ago

felipedrumond commented 7 years ago

Olá @adeniltonbs, como vai?! Estou testando seu repo no intuito de criar um de emissão de NFe/NFCe onde o client não tenha que conhecer o serviço. Para tanto, o client deverá enviar todos os dados usando o design pattern DTO e então consumir seu serviço, informando inclusive o certificado. Me deparei com algo que poderia ser melhorado a fim de ajudar o pessoal que está implementando a nota fiscal eletrônica: atualmente o NFe.Utils.Assinatura.Assinador.ObterAssinatura só recebe um X509Certificate2 (e quando null, utiliza o Singleton ConfiguracaoServico.Instancia.Certificado). No meu caso, eu desejo utilizar n certificados (tenho mais de um), então ao invés de usar o singleton, eu deverei enviar o X509Certificate2. No entanto, o método NFe.Utils.Classes.NFe.Assina só recebe a NFe, não permitindo enviar também o certificado a ser utilizado. Consequentemente, ao chamar Assinador.ObterAssinatura, não é possível enviar o certificado também, obrigando o método a usar o singleton.

Se não existe um meio de enviar a NF e também o X509Certificate2 para obter a Assinatura sem ter que editar seu projeto, fica aqui a recomendação. Se existe, poderia por favor me indicar?

marciojmuller commented 7 years ago

Olá! Não é só assinar a NFe, teria que enviar todas as configurações do sistema, devido um emitente poder ser de um estado e outro emitente ser de outro estado. É mais fácil você implementar uma aplicação que salve todas estas configurações e quando precisar usar o emitente 1 carregar o emissor com os dados e configurações dele, quando precisar utilizar o emissor 2 carregar as configurações no emissor novamente. Deixe carregadas as configurações em classes do Zeus e quando precisar utilizar apenas informe as variáveis.

Como no exemplo do Zeus tem a classe ConfiguracaoApp, tenha uma lista de quantas forem necessárias para os seus emitentes.

robertorp commented 7 years ago

Isso esta sendo feito aqui. Uma forma diferente sem static para manipular as configurações do Zeus. https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe/pull/503

stale[bot] commented 5 years ago

Essa Issue foi marcada automáticamente como obsoleta, devido a um longo periodo de inatividade. Se nenhuma interação ocorrer nos próximos dias, ela será encerrada. Agradecemos a sua contribuição, esse processo é apenas para manter o repositório mais organizado.