You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TesteNFCe v1.zip
Segue, em anexo, exemplo (extraído do próprio projeto teste da biblioteca) em asp.net, com um controller (asp.net mvc) chamado EmitirNFCe para que seja usando em projetos futuros. Deve-se restaurar todos pacotes NuGet, pois os mesmos não estão no arquivo anexo.
O certificado digital A1 deve estar no diretório App_Data. Atentar para o fato de preencher as seguintes variáveis da classe NFCe do pacote TesteNFCe.Helpers: _cnpj, _ie, _razaoSocial, _fantasia, _cep, _codigoUF, _uf, _bairro, _municipio, _logradouro, _nro, _complemento, _consumidorCPF, _consumidorEmail e _pwd.
Esse exemplo você pode mudar para não ser um serviço, e sim, uma página asp.net. O exemplo está focado em NFCe, mas você pode alterar e adequar para NFe.
Para uso em ambiente web, eu posso usar apenas certificados A1 ?
Fiz um exemplo e tanto local, quanto rodando na Amazon, com o arquivo .pfx funciona de boa, mas para o A3, quando tento buscar o serial com o método:
ListareObterDoRepositorio() ocorre um erro:
Exception Details: System.ComponentModel.Win32Exception: Invalid type specified
Line 254: if (!action())
Line 255: {
Line 256: throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error());
Line 257: }
Line 258: }
Existe algum exemplo para pegar os dados do certificado A3 pela aplicação Web ?
Pela aplicação web sei não.. mas oque sei e que alguns websites usam um aplicativo desktop pra fazer essa parte de certificado A3 juntamente com uma extensão web
É isso mesmo @robertorp , pesquisei bastante e ninguém consegue fazer nada on-line com o A3. Vou converter meu emissor para um serviço e pronto. Ou o cliente usa certificado A1 e fica livre disso.
Bom dia @denernun e @robertorp
Isto é uma limitação da linguagem/estrutura ou da web em si?
Como sites iguais ao da fazenda conseguem consumir A3 para download de XML, vincular SAT, etc. sem instalar nada do lado do cliente via Java? E porque isto não poderia ser feito via .Net?
@marcosgerene Cara não tenho a mínima ideia de como a sefaz acessa o certificado digital, porque eles pegam do repositorio do browser algo do genero eu imagino. Talvez a sefaz tenha um meio de acessar somente dela ou sei lá. (da minha parte nessa questão de certificado A3 é web falta conhecimentos)
Mas se você pesquisar na internet todos dizem em criar uma especie de monitor no cliente, ate mesmo empresas grandes fazem algo mais ou menos assim. Conta azul é um exemplo disso você baixa um app desktop e instala no pc, e instala a extenção deles, ai de alguma maneira a extenção comunica com o app desktop.
E pelo que ja pesquisei funciona assim, a sefaz precisa da chave pulica ou privada para abrir o tunel SSL ou seja tem que ter o certificado na hora de abrir a conexão com a sefaz. No caso o app desktop local iria fazer tudo.. Assinar, Enviar, ai sim com o retorno ele enviaria para a web. (Isso foi oque pesquisei)
@denernum Interessante também seria se você compartilhasse sua solução com nós.. pelo menos um consulta status da sefaz rodando via web com A3
Infelizmente no meu caso não tenho experiência com Web, mas acredito que não tenha nada de "especial" para a Sefaz, eu "chuto" que tenha alguma particularidade no Java ou no Browser para tal....
A Sefaz não faz nada, na conexão SSL/TLS antes de conectar mandamos a identificação e a chave publica, entre outras informações que o servidor possa exigir, este procedimento é chamado de handshaking com isto a receita sabe quem esta conectando e como descriptografar os dados enviados apenas isso, ela não consegue por exemplo assinar o xml pois não tem acesso ao certificado do cliente isto é impossível de ser feito pois necessitaria de acesso ao hardware do cliente o que seria uma falha seria de segurança.
Resumindo para usar o A3 em aplicação web só se o certificado estiver fisicamente plugado no servidor onde esta a aplicação caso contraria uma aplicação externa é necessária para o mesmo
Activity
MUN1Z commentedon Sep 14, 2016
Têm algum projeto ai de teste em asp pra Nfe?
homerokzam commentedon Sep 15, 2016
Esse exemplo você pode mudar para não ser um serviço, e sim, uma página asp.net. O exemplo está focado em NFCe, mas você pode alterar e adequar para NFe.
brunobertechini commentedon Oct 10, 2016
+1
denernun commentedon Feb 2, 2017
Para uso em ambiente web, eu posso usar apenas certificados A1 ?
Fiz um exemplo e tanto local, quanto rodando na Amazon, com o arquivo .pfx funciona de boa, mas para o A3, quando tento buscar o serial com o método:
ListareObterDoRepositorio() ocorre um erro:
Exception Details: System.ComponentModel.Win32Exception: Invalid type specified
Line 254: if (!action())
Line 255: {
Line 256: throw new System.ComponentModel.Win32Exception(Marshal.GetLastWin32Error());
Line 257: }
Line 258: }
Existe algum exemplo para pegar os dados do certificado A3 pela aplicação Web ?
Obrigado !
robertorp commentedon Feb 2, 2017
Pela aplicação web sei não.. mas oque sei e que alguns websites usam um aplicativo desktop pra fazer essa parte de certificado A3 juntamente com uma extensão web
denernun commentedon Feb 3, 2017
É isso mesmo @robertorp , pesquisei bastante e ninguém consegue fazer nada on-line com o A3. Vou converter meu emissor para um serviço e pronto. Ou o cliente usa certificado A1 e fica livre disso.
Valeu !
marcosgerene commentedon Feb 3, 2017
Bom dia @denernun e @robertorp
Isto é uma limitação da linguagem/estrutura ou da web em si?
Como sites iguais ao da fazenda conseguem consumir A3 para download de XML, vincular SAT, etc. sem instalar nada do lado do cliente via Java? E porque isto não poderia ser feito via .Net?
robertorp commentedon Feb 4, 2017
@marcosgerene Cara não tenho a mínima ideia de como a sefaz acessa o certificado digital, porque eles pegam do repositorio do browser algo do genero eu imagino. Talvez a sefaz tenha um meio de acessar somente dela ou sei lá. (da minha parte nessa questão de certificado A3 é web falta conhecimentos)
Mas se você pesquisar na internet todos dizem em criar uma especie de monitor no cliente, ate mesmo empresas grandes fazem algo mais ou menos assim. Conta azul é um exemplo disso você baixa um app desktop e instala no pc, e instala a extenção deles, ai de alguma maneira a extenção comunica com o app desktop.
E pelo que ja pesquisei funciona assim, a sefaz precisa da chave pulica ou privada para abrir o tunel SSL ou seja tem que ter o certificado na hora de abrir a conexão com a sefaz. No caso o app desktop local iria fazer tudo.. Assinar, Enviar, ai sim com o retorno ele enviaria para a web. (Isso foi oque pesquisei)
@denernum Interessante também seria se você compartilhasse sua solução com nós.. pelo menos um consulta status da sefaz rodando via web com A3
marcosgerene commentedon Feb 4, 2017
Infelizmente no meu caso não tenho experiência com Web, mas acredito que não tenha nada de "especial" para a Sefaz, eu "chuto" que tenha alguma particularidade no Java ou no Browser para tal....
rftd commentedon Feb 4, 2017
A Sefaz não faz nada, na conexão SSL/TLS antes de conectar mandamos a identificação e a chave publica, entre outras informações que o servidor possa exigir, este procedimento é chamado de handshaking com isto a receita sabe quem esta conectando e como descriptografar os dados enviados apenas isso, ela não consegue por exemplo assinar o xml pois não tem acesso ao certificado do cliente isto é impossível de ser feito pois necessitaria de acesso ao hardware do cliente o que seria uma falha seria de segurança.
Resumindo para usar o A3 em aplicação web só se o certificado estiver fisicamente plugado no servidor onde esta a aplicação caso contraria uma aplicação externa é necessária para o mesmo
marcosgerene commentedon Feb 4, 2017
@rftd matou a pau, obrigado pela elucidação
Merge pull request ZeusAutomacao#190 from openline-sistemas/dacte_fas…
feito melhorias do merge ZeusAutomacao#190
feito melhorias do merge ZeusAutomacao#190
Merge remote-tracking branch 'Hercules/master' into Branch_31781