Exemplo n.º 1
0
        /// <summary>
        /// Genera y Firma un Doc XML
        /// </summary>
        /// <typeparam name="TSunat">Ubl entity</typeparam>
        /// <param name="pobjOperationResult">resultado</param>
        /// <param name="objXml">Obj de Entidad UBL</param>
        /// <param name="certificado">Certificado X509 v3</param>
        /// <exception cref="System.InvalidOperationException"></exception>
        /// <returns></returns>
        public static byte[] GenFile <TSunat>(ref OperationResult pobjOperationResult, TSunat objXml, X509Certificate2 certificado)
            where TSunat : Gs.Ubl.v2.UblBaseDocumentType
        {
            var serializer = new XmlSerializer(typeof(TSunat));
            var doc        = new XmlDocument();

            using (var memXml = new MemoryStream())
            {
                serializer.Serialize(memXml, objXml);
                memXml.Seek(0, SeekOrigin.Begin);
                doc.Load(memXml);
            }

            #region Se firma el Xml creado.
            try
            {
                XmlSignatureProvider.SignXmlFile(doc, certificado);
                using (var mem = new MemoryStream())
                {
                    doc.Save(mem);
                    var res = mem.ToArray();
                    pobjOperationResult.Success = true;
                    return(res);
                }
            }
            catch (Exception e)
            {
                pobjOperationResult.Success = false;
                pobjOperationResult.Error   = e.Message;
            }
            #endregion

            return(null);
        }
Exemplo n.º 2
0
        public void VeifyXmlFile_NotValid_Test()
        {
            var path = Path.Combine(Environment.CurrentDirectory, "Resources",
                                    "20600995805-03-B001-1.xml");

            var result = XmlSignatureProvider.VerifyXmlFile(path);

            Assert.IsFalse(result);
        }
Exemplo n.º 3
0
        public void VerifyXmlFileTest()
        {
            var path = Path.Combine(Environment.CurrentDirectory, "Resources",
                                    "20552256647-01-FF12-242.xml");

            var result = XmlSignatureProvider.VerifyXmlFile(path);

            Assert.IsTrue(result);
        }