/// <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; }
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); }
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); }
public static void Assinar(this inutCTe inutCTe) { var configuracaoServico = ConfiguracaoServico.Instancia; inutCTe.Signature = AssinaturaDigital.Assina(inutCTe, inutCTe.infInut.Id, configuracaoServico.X509Certificate2); }
/// <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); }
public static void Assinar(this MDFeEventoMDFe evento) { evento.Signature = AssinaturaDigital.Assina(evento, evento.InfEvento.Id, MDFeConfiguracao.X509Certificate2); }