/// <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); }
/// <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); }
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); }
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); }
/// <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); }
/// <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); }
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()); }
/// <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); }