This project is read-only.

Error al ejecutar el método Sign

Feb 28, 2013 at 5:27 PM
Edited Feb 28, 2013 at 5:28 PM
Hola, al ejecutar el método Sign con un XmlDocument como parámetro, recivo un error de que el documento no puede estar null. En concreto este: Document to sign cannot be null

El XmlDocument que paso como parámetro no está nulo y ha cargado el fichero especificado en el path correctamente.

Adjunto el código a ver si me podéis ayudar.

Gracias.
X509Certificate2 certificate = LoadCertificate(System.Configuration.ConfigurationManager.AppSettings["CertificatePath"], System.Configuration.ConfigurationManager.AppSettings["CertificatePassword"]);
XmlDocument xDoc = new XmlDocument();
                    xDoc.Load("E:\\Ports\\Temp\\testInput.xml");
                    
                    string sPath = System.Configuration.ConfigurationManager.AppSettings["TempPath"];
                    string fileTempName = Guid.NewGuid().ToString() + ".temp";
                    sPath = Path.Combine(sPath, fileTempName);

                    XmlDsigHelper.Sign(xDoc).UsingFormat(XadesNetLib.XmlDsig.Common.XmlDsigSignatureFormat.Enveloped).Using(certificate).SignToFile(sPath);

                    XmlDocument xDocResult = new XmlDocument();
                    xDocResult.Load(sPath);

                    return xDocResult.OuterXml;
Feb 28, 2013 at 5:37 PM
He probado modificando el código y cambiando el parámetro del Sign por una ruta y el error que retorna es "An XmlDocument context is required for enveloped transforms."