Example #1
0
        /// <summary>
        ///     Assina um objeto CTe
        /// </summary>
        /// <param name="cte"></param>
        /// <param name="configuracaoServico"></param>
        /// <returns>Retorna um objeto do tipo CTe assinado</returns>
        public static void Assina(this CteEletronica cte, ConfiguracaoServico configuracaoServico = null)
        {
            if (cte == null)
            {
                throw new ArgumentNullException("cte");
            }

            var configServico = configuracaoServico ?? ConfiguracaoServico.Instancia;

            var modeloDocumentoFiscal = cte.infCte.ide.mod;
            var tipoEmissao           = (int)cte.infCte.ide.tpEmis;
            var codigoNumerico        = cte.infCte.ide.cCT;
            var estado           = cte.infCte.ide.cUF;
            var dataEHoraEmissao = cte.infCte.ide.dhEmi;
            var cnpj             = cte.infCte.emit.CNPJ;
            var numeroDocumento  = cte.infCte.ide.nCT;
            int serie            = cte.infCte.ide.serie;

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

            cte.infCte.Id      = "CTe" + dadosChave.Chave;
            cte.infCte.versao  = configServico.VersaoLayout;
            cte.infCte.ide.cDV = dadosChave.DigitoVerificador;

            var assinatura = AssinaturaDigital.Assina(cte, cte.infCte.Id, configServico.X509Certificate2);

            cte.Signature = assinatura;
        }
Example #2
0
        public static MDFEletronico Assina(this MDFEletronico mdfe, EventHandler <string> eventHandlerChaveMdfe = null, object quemInvocouEventoChaveMDFe = null)
        {
            if (mdfe == null)
            {
                throw new ArgumentException("Erro de assinatura, MDFe esta null");
            }

            var modeloDocumentoFiscal = mdfe.InfMDFe.Ide.Mod;
            var tipoEmissao           = (int)mdfe.InfMDFe.Ide.TpEmis;
            var codigoNumerico        = mdfe.InfMDFe.Ide.CMDF;
            var estado           = mdfe.InfMDFe.Ide.CUF;
            var dataEHoraEmissao = mdfe.InfMDFe.Ide.DhEmi;
            var cnpj             = mdfe.InfMDFe.Emit.CNPJ;
            var numeroDocumento  = mdfe.InfMDFe.Ide.NMDF;
            int serie            = mdfe.InfMDFe.Ide.Serie;

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

            mdfe.InfMDFe.Id = "MDFe" + dadosChave.Chave;

            if (eventHandlerChaveMdfe != null)
            {
                eventHandlerChaveMdfe.Invoke(quemInvocouEventoChaveMDFe, dadosChave.Chave);
            }

            mdfe.InfMDFe.Versao  = MDFeConfiguracao.VersaoWebService.VersaoLayout;
            mdfe.InfMDFe.Ide.CDV = dadosChave.DigitoVerificador;

            var assinatura = AssinaturaDigital.Assina(mdfe, mdfe.InfMDFe.Id, MDFeConfiguracao.X509Certificate2);

            mdfe.Signature = assinatura;

            return(mdfe);
        }
Example #3
0
        public static MDFEletronico Assina(this MDFEletronico mdfe)
        {
            if (mdfe == null)
            {
                throw new ArgumentException("Erro de assinatura, MDFe esta null");
            }

            var modeloDocumentoFiscal = (int)mdfe.InfMDFe.Ide.Mod;
            var tipoEmissao           = (int)mdfe.InfMDFe.Ide.TpEmis;
            var codigoNumerico        = mdfe.InfMDFe.Ide.CMDF;
            var codigoIbgeUf          = (int)mdfe.InfMDFe.Ide.CUF;
            var dataEHoraEmissao      = mdfe.InfMDFe.Ide.DhEmi;
            var documentoUnico        = long.Parse(mdfe.InfMDFe.Emit.CNPJ);
            var numeroDocumento       = mdfe.InfMDFe.Ide.NMDF;
            int serie = mdfe.InfMDFe.Ide.Serie;

            var gerarChave = new GerarChaveFiscal(modeloDocumentoFiscal, tipoEmissao, codigoNumerico,
                                                  codigoIbgeUf, dataEHoraEmissao, documentoUnico, numeroDocumento, serie);

            mdfe.InfMDFe.Id      = "MDFe" + gerarChave.Chave;
            mdfe.InfMDFe.Versao  = VersaoServico.Versao100;
            mdfe.InfMDFe.Ide.CDV = gerarChave.DigitoVerificador;

            var assinatura = AssinaturaDigital.Assina(mdfe, mdfe.InfMDFe.Id, MDFeConfiguracao.X509Certificate2);

            mdfe.Signature = assinatura;

            return(mdfe);
        }
Example #4
0
        public static void Assinar(this inutCTe inutCTe)
        {
            var configuracaoServico = ConfiguracaoServico.Instancia;

            inutCTe.Signature = AssinaturaDigital.Assina(inutCTe, inutCTe.infInut.Id,
                                                         configuracaoServico.X509Certificate2);
        }
Example #5
0
        /// <summary>
        ///     Assina um objeto evento
        /// </summary>
        /// <param name="eventoCTe"></param>
        /// <returns>Retorna um objeto do tipo evento assinado</returns>
        public static void Assina(this eventoCTe eventoCTe)
        {
            if (eventoCTe.infEvento.Id == null)
            {
                throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!");
            }

            eventoCTe.Signature = AssinaturaDigital.Assina(eventoCTe, eventoCTe.infEvento.Id,
                                                           ConfiguracaoServico.Instancia.X509Certificate2);
        }
Example #6
0
 public static void Assinar(this MDFeEventoMDFe evento)
 {
     evento.Signature = AssinaturaDigital.Assina(evento, evento.InfEvento.Id,
                                                 MDFeConfiguracao.X509Certificate2);
 }