none
XML - Nota Fiscal Eletrônica de Serviço - KeyInfo RRS feed

  • Pergunta

  • Bom dia senhores,

    Estou trabalhando em um projeto de consulta de notas fiscais eletronicas de serviço.
    Utilizando a documentação: http://ww2.prefeitura.sp.gov.br/nfe/files/NFe-Web-Service-v2-2.pdf
    Estou acessando o web service https://nfe.prefeitura.sp.gov.br/ws/lotenfe.asmx
    Mais especificamente o método ConsultaNFeRecebidas.

    Pois bem, estou com dificuldade na hora de definir a TAG KeyInfo.

    Mas antes sigo os seguintes passos:
    1 - Monto o XML. Segue exemplo de estrutura:
    <?xml version="1.0" encoding="UTF-8"?>
    
    <p1:PedidoConsultaNFePeriodo xmlns:p1="http://www.prefeitura.sp.gov.br/nfe" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    
    	<Cabecalho Versao="1">
    
    		<CPFCNPJRemetente>
    
    			<CNPJ>00CNPJ00</CNPJ>
    
    		</CPFCNPJRemetente>
    
    		<CPFCNPJ>
    
    			<CNPJ>00CNPJ00</CNPJ>
    
    		</CPFCNPJ>
    
    		<Inscricao>00Inscricao00</Inscricao>
    
    		<dtInicio>2009-01-01</dtInicio>
    
    		<dtFim>2009-12-31</dtFim>
    
    		<NumeroPagina>1</NumeroPagina>
    
    	</Cabecalho>
    
    </p1:PedidoConsultaNFePeriodo>
    
    
    2 -  Assino o XML coforme este link http://msdn.microsoft.com/pt-br/library/ms229745.aspx, este método já insere a TAG Signature automaticamente.

    Por fim, preciso informar a TAG KeyInfo, li que essa TAG é a PublicKey do certificado. Consultei as propriedades do meu objeto X509Certificate2 que é a instanciação do meu certificado, mas não sei se passo o valor correto para o XML, pois li que talvez precise fazer um Encode de Base 64. Estou certo? Qual valor deve ir dentro da TAG KeyInfo?

    Abaixo segue o modo como estou instanciando o certificado.
    X509Certificate2 myCertificate = new X509Certificate2("C:\\NotaFiscalCertificados\\CertificadoSP.pfx", "senha");
    
    

    Obrigado.
     





    Fernando Henrique Inocêncio Borba Ferreira
    quarta-feira, 19 de agosto de 2009 14:27

Respostas

Todas as Respostas

  • Problema resolvido.

    Acessei a url https://nfse.recife.pe.gov.br/arquivos/WsNFSeNacional.pdf, que nada mais é que a documentação da nota fiscal eletronica de Recife, fui até a página 7, e me deparei com um código mágico em VB.Net que faz a assinatura da Nota Fiscal Eletronica e solucionou todos os meus problemas.

    Obrigado Recife, está noite irei dormir mais feliz, obrigado!

    té mais.


    Fernando Henrique Inocêncio Borba Ferreira
    quarta-feira, 19 de agosto de 2009 18:59
  • Existe um sistema para controle completo de NFS-e, é o CW NFS-e da Conceito W.

    Este software importa dados de outros sistemas, faz todo controle de geração de lotes e RPS (em cidades que tem RPS), envia para o portal e armazena o retorno. O software está homologado para várias prefeituras do Brasil.

    A solução é simples para utilizar, implantar e tem baixo custo, vale pesquisar antes de desenvolver.

    É uma ótima opção também para empresas de TI, que podem gerar um layout e importar no CW NFS-e, que se necessário, também tem um software complementar para agendar a integração, mas na maioria dos casos é viável o usuário importar o arquivo manualmente.

    www.conceitow.com.br/cwnfs-e

    domingo, 22 de novembro de 2009 01:46
  • Você conseguiu assinar a NFS-e de São Paulo?

     

    Tentei com o código do pdf mas ainda dá que a assinatura é inválida.

     

    Obrigado.

    segunda-feira, 26 de julho de 2010 14:50
  • Alexandre, o que desenvolvi foi este:

    public string SignRPS(X509Certificate2 Cert, String sAssinatura)
    {
    string hash = string.Empty;
    byte[] buffer = Encoding.Default.GetBytes(sAssinatura);
    SHA1CryptoServiceProvider SHA1 = new SHA1CryptoServiceProvider();
    RSACryptoServiceProvider rsa1 = (RSACryptoServiceProvider)Cert.PrivateKey;
    byte[] Encrypted = rsa1.SignHash(SHA1.ComputeHash(buffer), CryptoConfig.MapNameToOID("SHA1"));
    hash = Convert.ToBase64String(Encrypted);
    return hash;

     

     

     

    Ainda não realizei os testes pois outras prioridades surgiram. Fico no aguardo.

    Giordani

    quarta-feira, 28 de julho de 2010 11:34
  • Aqui na empresa utilizamos o VirtualNFS-e da Virtual Group.

    Utilizamos via web, ele assina e envia para prefeitura todas nossas notas de uma unica vez, é tudo bem simples. Quando vejo a complexidade técnica de desenvolvimento de tal integração com a prefeitura, agradeço o departamento financeiro de ter descoberto esta solução. Ah, estamos usando para a prefeitura de belo horizonte (BH).


    Caso queiram conferir http://www.notafiscaldeservicos.com.br


    Abraço
    segunda-feira, 25 de outubro de 2010 19:02
  • Pessoal,

     

     

    Uma pergunta de um programador ainda perdido.

    Necessito desenvolver a NFE para uma empresa de Comunicações.

    É o modelo 21 de Nota fiscal.

     

    É a mesma coisa que os demais modelos para a emissão ? Alguém tem idéia no que muda o layout ?

    Não encontrei a documentação referente a este modelo no site da Fazenda. Estou completamente perdido!

     

    Caso possam me ajudar, agradeço!

     

     

    Um abraço,

     

    Iberê

    quinta-feira, 28 de outubro de 2010 20:39
  • @Ibere

    Cria um novo thread por favor assim fica facil receber ajuda.

    Obrigado.

     


    Just Be Humble Malange!
    quinta-feira, 28 de outubro de 2010 22:10
    Moderador
  • Olá Amigo, poderia me ajudar ?

    Estou enviando a NFS-e de SP e o mesmo agora me retorna este erro:

    Mensagem XML de Pedido do serviço sem conteúdo

    Você sabe o porque deste erro, qual erro cometido no XML para ocasionar isto ?

    Agradeço desde já,

    Eduardo


    Eduardo Fonseca
    segunda-feira, 2 de maio de 2011 19:25
  • Eduardo,

     

    Você conseguiu resolver o problema de Mensagem XML de Pedido do serviço sem conteúdo?

     

    Estou usando Delphi7, e já consegui resolver para 4 prefeituras, mas para a Tipla de são paulo não estou conseguindo.

    Estou usando o THTTPRequestResponse, uso este pois fiz uma orientação objetos legais e não quiz usar o WSDL para gerar fontes automaticamente (Neste caso ele usa o Rio.pas)

     

    Já tentei de tudo, mas infezlimente ainda não consegui.

    sexta-feira, 16 de setembro de 2011 12:53
  • Mesmo após longa data este post me foi útil. Estava a dias quebrando a cabeça com a assinatura para o Servidor Equiplano e seguinte o exemplo que consta nesse manual de Recife obtive sucesso.

    Parabens Fernando pela dica. Vlw !!!

    quarta-feira, 27 de setembro de 2017 17:17