/// <summary> /// Converte o objeto retConsSitCTe para uma string no formato XML /// </summary> /// <param name="retConsSitCTe"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto retConsSitCTe</returns> public static string ObterXmlString(this retConsSitCTe retConsSitCTe) { return(FuncoesXml.ClasseParaXmlString(retConsSitCTe)); }
/// <summary> /// Obtém a assinatura de um objeto serializável /// </summary> /// <typeparam name="T"></typeparam> /// <param name="objeto"></param> /// <param name="id"></param> /// <param name="certificadoDigital">Informe o certificado digital</param> /// <param name="manterDadosEmCache">Validador para manter o certificado em cache</param> /// <param name="signatureMethod"></param> /// <param name="digestMethod"></param> /// <param name="cfgServicoRemoverAcentos"></param> /// <returns>Retorna um objeto do tipo Classes.Assinatura.Signature, contendo a assinatura do objeto passado como parâmetro</returns> public static Signature ObterAssinatura <T>(T objeto, string id, X509Certificate2 certificadoDigital, bool manterDadosEmCache = false, string signatureMethod = "http://www.w3.org/2000/09/xmldsig#rsa-sha1", string digestMethod = "http://www.w3.org/2000/09/xmldsig#sha1", bool cfgServicoRemoverAcentos = false) where T : class { var objetoLocal = objeto; if (id == null) { throw new Exception("Não é possível assinar um objeto evento sem sua respectiva Id!"); } try { var documento = new XmlDocument { PreserveWhitespace = true }; var xml = cfgServicoRemoverAcentos ? FuncoesXml.ClasseParaXmlString(objetoLocal).RemoverAcentos() : FuncoesXml.ClasseParaXmlString(objetoLocal); documento.LoadXml(xml); var docXml = new SignedXml(documento) { SigningKey = certificadoDigital.PrivateKey }; docXml.SignedInfo.SignatureMethod = signatureMethod; var reference = new Reference { Uri = "#" + id, DigestMethod = digestMethod }; // adicionando EnvelopedSignatureTransform a referencia var envelopedSigntature = new XmlDsigEnvelopedSignatureTransform(); reference.AddTransform(envelopedSigntature); var c14Transform = new XmlDsigC14NTransform(); reference.AddTransform(c14Transform); docXml.AddReference(reference); // carrega o certificado em KeyInfoX509Data para adicionar a KeyInfo var keyInfo = new KeyInfo(); keyInfo.AddClause(new KeyInfoX509Data(certificadoDigital)); docXml.KeyInfo = keyInfo; docXml.ComputeSignature(); //// recuperando a representação do XML assinado var xmlDigitalSignature = docXml.GetXml(); var assinatura = FuncoesXml.XmlStringParaClasse <Signature>(xmlDigitalSignature.OuterXml); return(assinatura); } finally { //Marcos Gerene 04/08/2018 - o objeto certificadoDigital nunca será nulo, porque se ele for nulo nem as configs para criar ele teria. //Se não mantém os dados do certificado em cache libera o certificado, chamando o método reset. //if (!manterDadosEmCache & certificadoDigital == null) // certificadoDigital.Reset(); } }
public static string XmlString(this MDFeConsSitMDFe consSitMdfe) { return(FuncoesXml.ClasseParaXmlString(consSitMdfe)); }
/// <summary> /// Converte o objeto NFe para uma string no formato XML /// </summary> /// <param name="nfe"></param> /// <returns>Retorna uma string no formato XML com os dados da NFe</returns> public static string ObterXmlString(this Classes.NFe nfe) { return(FuncoesXml.ClasseParaXmlString(nfe)); }
/// <summary> /// Recebe um objeto envEvento e devolve a string no formato XML /// </summary> /// <param name="pedEvento">Objeto do tipo envEvento</param> /// <returns>string com XML no do objeto envEvento</returns> public static string ObterXmlString(this envEvento pedEvento) { return(FuncoesXml.ClasseParaXmlString(pedEvento)); }
/// <summary> /// Converte o objeto consSitNFe para uma string no formato XML /// </summary> /// <param name="pedConsulta"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto consSitNFe</returns> public static string ObterXmlString(this consSitNFe pedConsulta) { return(FuncoesXml.ClasseParaXmlString(pedConsulta)); }
/// <summary> /// Converte um objeto do tipo retEnvEvento para uma string no formato XML com os dados do objeto /// </summary> /// <param name="retEnvEvento"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto retEnvEvento</returns> public static string ObterXmlString(this retEnvEvento retEnvEvento) { return(FuncoesXml.ClasseParaXmlString(retEnvEvento)); }
/// <summary> /// Converte um objeto do tipo retDownloadNFe para uma string no formato XML com os dados do objeto /// </summary> /// <param name="retDownloadNFe"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto retDownloadNFe</returns> public static string ObterXmlString(this retDownloadNFe retDownloadNFe) { return(FuncoesXml.ClasseParaXmlString(retDownloadNFe)); }
/// <summary> /// Converte o objeto cteProc para uma string no formato XML /// </summary> /// <param name="cteProc"></param> /// <returns>Retorna uma string no formato XML com os dados do cteProc</returns> public static string ObterXmlString(this cteProc cteProc) { return(FuncoesXml.ClasseParaXmlString(cteProc)); }
/// <summary> /// Converte o objeto enviNFe3 para uma string no formato XML /// </summary> /// <param name="pedEnvio"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto enviNFe3</returns> public static string ObterXmlString(this enviNFe3 pedEnvio) { return(FuncoesXml.ClasseParaXmlString(pedEnvio)); }
public static string XmlString(this MDFeEvCancMDFe evCancMDFe) { return(FuncoesXml.ClasseParaXmlString(evCancMDFe)); }
/// <summary> /// Converte o objeto retEnviCte para uma string no formato XML /// </summary> /// <param name="retEnviCte"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto retEnviCte</returns> public static string ObterXmlString(this retEnviCte retEnviCte) { return(FuncoesXml.ClasseParaXmlString(retEnviCte)); }
/// <summary> /// Converte o objeto consReciNFe para uma string no formato XML /// </summary> /// <param name="pedRecibo"></param> /// <returns>Retorna uma string no formato XML com os dados do objeto consReciNFe</returns> public static string ObterXmlString(this consReciNFe pedRecibo) { return(FuncoesXml.ClasseParaXmlString(pedRecibo)); }