Beispiel #1
0
        /// <summary>
        ///     Assina um objeto inutNFe
        /// </summary>
        /// <param name="inutNFe"></param>
        /// <returns>Retorna um objeto do tipo inutNFe assinado</returns>
        public static inutNFe Assina(this inutNFe inutNFe)
        {
            var inutNFeLocal = inutNFe;

            if (inutNFeLocal.infInut.Id == null)
            {
                throw new Exception("Não é possível assinar um onjeto inutNFe sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(inutNFeLocal, inutNFeLocal.infInut.Id);

            inutNFeLocal.Signature = assinatura;
            return(inutNFeLocal);
        }
Beispiel #2
0
        /// <summary>
        ///     Assina um objeto evento
        /// </summary>
        /// <param name="evento"></param>
        /// <param name="certificadoDigital">Informe o certificado digital, se já possuir esse em cache, evitando novo acesso ao certificado</param>
        /// <returns>Retorna um objeto do tipo evento assinado</returns>
        public static evento Assina(this evento evento, X509Certificate2 certificadoDigital)
        {
            var eventoLocal = evento;

            if (eventoLocal.infEvento.Id == null)
            {
                throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(eventoLocal, eventoLocal.infEvento.Id, certificadoDigital);

            eventoLocal.Signature = assinatura;
            return(eventoLocal);
        }
Beispiel #3
0
        public static Modelos.Inutilizacao.inutNFe Assinar(this Modelos.Inutilizacao.inutNFe inutNFe, X509Certificate2 certificadoDigital)
        {
            var inutNFeLocal = inutNFe;

            if (inutNFeLocal.infInut.Id == null)
            {
                throw new Exception("Não é possível assinar um onjeto inutNFe sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(inutNFeLocal, inutNFeLocal.infInut.Id, certificadoDigital);

            inutNFeLocal.Signature = assinatura;
            return(inutNFeLocal);
        }
Beispiel #4
0
        public static Modelos.Eventos.evento Assinar(this Modelos.Eventos.evento evento, X509Certificate2 certificadoDigital, string signatureMethodSignedXml, string digestMethodReference)
        {
            var eventoLocal = evento;

            if (eventoLocal.infEvento.Id == null)
            {
                throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(eventoLocal, eventoLocal.infEvento.Id, certificadoDigital, signatureMethodSignedXml, digestMethodReference);

            eventoLocal.Signature = assinatura;
            return(eventoLocal);
        }
        /// <summary>
        ///     Assina um objeto inutNFe
        /// </summary>
        /// <param name="inutNFe"></param>
        /// <param name="certificadoDigital">Informe o certificado digital, se já possuir esse em cache, evitando novo acesso ao certificado</param>
        /// <returns>Retorna um objeto do tipo inutNFe assinado</returns>
        public static inutNFe Assina(this inutNFe inutNFe, X509Certificate2 certificadoDigital, string signatureMethodSignedXml = "http://www.w3.org/2000/09/xmldsig#rsa-sha1", string digestMethodReference = "http://www.w3.org/2000/09/xmldsig#sha1")
        {
            var inutNFeLocal = inutNFe;

            if (inutNFeLocal.infInut.Id == null)
            {
                throw new Exception("Não é possível assinar um onjeto inutNFe sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(inutNFeLocal, inutNFeLocal.infInut.Id, certificadoDigital, false, signatureMethodSignedXml, digestMethodReference);

            inutNFeLocal.Signature = assinatura;
            return(inutNFeLocal);
        }
Beispiel #6
0
        /// <summary>
        ///     Assina um objeto evento
        /// </summary>
        /// <param name="evento"></param>
        /// <param name="certificadoDigital">Informe o certificado digital, se já possuir esse em cache, evitando novo acesso ao certificado</param>
        /// <returns>Retorna um objeto do tipo evento assinado</returns>
        public static evento Assina(this evento evento, X509Certificate2 certificadoDigital, string signatureMethodSignedXml = "http://www.w3.org/2000/09/xmldsig#rsa-sha1", string digestMethodReference = "http://www.w3.org/2000/09/xmldsig#sha1")
        {
            var eventoLocal = evento;

            if (eventoLocal.infEvento.Id == null)
            {
                throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!");
            }

            var assinatura = Assinador.ObterAssinatura(eventoLocal, eventoLocal.infEvento.Id, certificadoDigital, false, signatureMethodSignedXml, digestMethodReference);

            eventoLocal.Signature = assinatura;
            return(eventoLocal);
        }
Beispiel #7
0
        /// <summary>
        ///     Assina um objeto NFe
        /// </summary>
        /// <param name="nfe"></param>
        /// <param name="cfgServico">ConfiguracaoServico para uso na classe Assinador</param>
        /// <returns>Retorna um objeto do tipo NFe assinado</returns>
        public static Classes.NFe Assina(this Classes.NFe nfe, ConfiguracaoServico cfgServico = null, X509Certificate2 _certificado = null)
        {
            var nfeLocal = nfe;

            if (nfeLocal == null)
            {
                throw new ArgumentNullException("nfe");
            }

            #region Define cNF

            var tamanhocNf = 9;
            var versao     = (decimal.Parse(nfeLocal.infNFe.versao, CultureInfo.InvariantCulture));
            if (versao >= 2)
            {
                tamanhocNf = 8;
            }
            nfeLocal.infNFe.ide.cNF = Convert.ToInt32(nfeLocal.infNFe.ide.cNF).ToString().PadLeft(tamanhocNf, '0');

            #endregion

            var modeloDocumentoFiscal = nfeLocal.infNFe.ide.mod;
            var tipoEmissao           = (int)nfeLocal.infNFe.ide.tpEmis;
            var codigoNumerico        = int.Parse(nfeLocal.infNFe.ide.cNF);
            var estado           = nfeLocal.infNFe.ide.cUF;
            var dataEHoraEmissao = nfeLocal.infNFe.ide.dhEmi;
            var cnpj             = nfeLocal.infNFe.emit.CNPJ;
            var numeroDocumento  = nfeLocal.infNFe.ide.nNF;
            var serie            = nfeLocal.infNFe.ide.serie;

            var dadosChave = ChaveFiscal.ObterChave(estado, dataEHoraEmissao.LocalDateTime, cnpj, modeloDocumentoFiscal, serie, numeroDocumento, tipoEmissao, codigoNumerico);

            nfeLocal.infNFe.Id      = "NFe" + dadosChave.Chave;
            nfeLocal.infNFe.ide.cDV = Convert.ToInt16(dadosChave.DigitoVerificador);

            Signature assinatura = null;
            if (_certificado == null)
            {
                assinatura = Assinador.ObterAssinatura(nfeLocal, nfeLocal.infNFe.Id, cfgServico);
            }
            else
            {
                assinatura = Assinador.ObterAssinatura(nfeLocal, nfeLocal.infNFe.Id, _certificado, cfgServico.Certificado.ManterDadosEmCache, cfgServico.Certificado.SignatureMethodSignedXml, cfgServico.Certificado.DigestMethodReference);
            }

            nfeLocal.Signature = assinatura;

            return(nfeLocal);
        }
Beispiel #8
0
        public void ServicosNFe_WhenNfeNFeAutorizacao4_ReturnsxMotivoSuccess()
        {
            var servico = CreateInstance4();
            var nfe     = CreateObject();

            var list = new List <Classes.NFe>();

            list.Add(nfe.NFe);

            nfe.NFe.infNFe.ide.mod = DFe.Classes.Flags.ModeloDocumento.NFCe;

            var a = new X509Certificate2(@"D:\Works\CERTIFICADO MORIMO A1.pfx", "morimo1458");

            Assinador.ObterAssinatura <NFeClasses.NFe>(nfe.NFe, "teste", a);

            var result = servico.NFeAutorizacao(1, IndicadorSincronizacao.Sincrono, list);

            Assert.IsTrue("Lote recebido com sucesso" == result.Retorno.xMotivo.ToString());
        }
Beispiel #9
0
        /// <summary>
        ///     Assina um objeto NFe
        /// </summary>
        /// <param name="nfe"></param>
        /// <returns>Retorna um objeto do tipo NFe assinado</returns>
        public static Classes.NFe Assina(this Classes.NFe nfe)
        {
            var nfeLocal = nfe;

            if (nfeLocal == null)
            {
                throw new ArgumentNullException("nfe");
            }

            #region Define cNF

            var tamanhocNf = 9;
            var versao     = (decimal.Parse(nfeLocal.infNFe.versao, CultureInfo.InvariantCulture));
            if (versao >= 2)
            {
                tamanhocNf = 8;
            }
            nfeLocal.infNFe.ide.cNF = Convert.ToInt32(nfeLocal.infNFe.ide.cNF).ToString().PadLeft(tamanhocNf, '0');

            #endregion

            var modeloDocumentoFiscal = nfeLocal.infNFe.ide.mod;
            var tipoEmissao           = (int)nfeLocal.infNFe.ide.tpEmis;
            var codigoNumerico        = int.Parse(nfeLocal.infNFe.ide.cNF);
            var estado           = nfeLocal.infNFe.ide.cUF;
            var dataEHoraEmissao = nfeLocal.infNFe.ide.dhEmi;
            var cnpj             = nfeLocal.infNFe.emit.CNPJ;
            var numeroDocumento  = nfeLocal.infNFe.ide.nNF;
            var serie            = nfeLocal.infNFe.ide.serie;

            var dadosChave = ChaveFiscal.ObterChave(estado, dataEHoraEmissao, cnpj, modeloDocumentoFiscal, serie, numeroDocumento, tipoEmissao, codigoNumerico);

            nfeLocal.infNFe.Id      = "NFe" + dadosChave.Chave;
            nfeLocal.infNFe.ide.cDV = Convert.ToInt16(dadosChave.DigitoVerificador);

            var assinatura = Assinador.ObterAssinatura(nfeLocal, nfeLocal.infNFe.Id);
            nfeLocal.Signature = assinatura;
            return(nfeLocal);
        }