예제 #1
0
        public static TNFe GeraAssinatura(this TNFe nfe, X509Certificate2 certificate)
        {
            if (string.IsNullOrEmpty(nfe.infNFe.Id))
            {
                nfe.CalculaChave();
            }

            var nfeXml = new XmlDocument();

            nfeXml.LoadXml(nfe.Serialize().LimpaNamespaces());
            nfe.Signature = AssinadorXml.GeraAssinatura(nfeXml, "infNFe", certificate);
            return(nfe);
        }
예제 #2
0
        public TNFe AssinarNFE(TNFe nota, string pUri)
        {
            var arquivoNaoAssinado = new XmlDocument();

            arquivoNaoAssinado.LoadXml(Funcoes.RemoveNameSpaceFromXml(nota.Serialize()));

            var auxDocXML = CertificadoDigital.Assinar(arquivoNaoAssinado, pUri, Certificado);

            auxDocXML.Save(nota.NomeArquivo);

            var retorno = TNFe.LoadFromFile(nota.NomeArquivo);

            retorno.NomeArquivo = nota.NomeArquivo;
            retorno.ArquivoXML  = auxDocXML;
            return(retorno);
        }