public ActionResult Index(XmlSignatureModel model) {

			// Get an instance of the XmlSignatureFinisher class, responsible for completing the signature process
			var signatureFinisher = new XmlSignatureFinisher(Util.GetRestPkiClient());

			// Set the token for this signature (rendered in a hidden input field, see the view)
			signatureFinisher.SetToken(model.Token);

			// Call the Finish() method, which finalizes the signature process and returns the signed PDF
			var signedXml = signatureFinisher.Finish();

			// Get information about the certificate used by the user to sign the file. This method must only be called after
			// calling the Finish() method.
			var signerCert = signatureFinisher.GetCertificateInfo();

			// At this point, you'd typically store the signed XML on your database. For demonstration purposes, we'll
			// store the XML on the App_Data folder and render a page with a link to download the signed XML and with the
			// signer's certificate details.

			var appDataPath = Server.MapPath("~/App_Data");
			if (!Directory.Exists(appDataPath)) {
				Directory.CreateDirectory(appDataPath);
			}
			var id = Guid.NewGuid();
			var filename = id + ".xml";
			System.IO.File.WriteAllBytes(Path.Combine(appDataPath, filename), signedXml);

			return View("SignatureInfo", new SignatureInfoModel() {
				File = filename.Replace(".", "_"), // Note: we're passing the filename argument with "." as "_" because of limitations of ASP.NET MVC
				SignerCertificate = signerCert
			});
		}
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            // Get an instance of the XmlSignatureFinisher class, responsible for completing the signature process
            var signatureFinisher = new XmlSignatureFinisher(Util.GetRestPkiClient());

            // Set the token for this signature (rendered in a hidden input field, see the view)
            signatureFinisher.SetToken((string)ViewState["Token"]);

            // Call the Finish() method, which finalizes the signature process and returns the signed XML
            var cms = signatureFinisher.Finish();

            // Get information about the certificate used by the user to sign the file. This method must only be called after
            // calling the Finish() method.
            var signerCertificate = signatureFinisher.GetCertificateInfo();

            // At this point, you'd typically store the XML on your database. For demonstration purposes, we'll
            // store the XML on the App_Data folder and render a page with a link to download the CMS and with the
            // signer's certificate details.

            var appDataPath = Server.MapPath("~/App_Data");

            if (!Directory.Exists(appDataPath))
            {
                Directory.CreateDirectory(appDataPath);
            }
            var id       = Guid.NewGuid();
            var filename = id + ".xml";

            File.WriteAllBytes(Path.Combine(appDataPath, filename), cms);

            this.SignatureFilename = filename;
            this.SignerCertificate = signerCertificate;
            Server.Transfer("XmlElementSignatureInfo.aspx");
        }
        protected void SubmitButton_Click(object sender, EventArgs e)
        {
            // Get an instance of the XmlSignatureFinisher class, responsible for completing the signature process
            var signatureFinisher = new XmlSignatureFinisher(Util.GetRestPkiClient());

            // Set the token for this signature (rendered in a hidden input field, see the view)
            signatureFinisher.SetToken((string)ViewState["Token"]);

            // Call the Finish() method, which finalizes the signature process and returns the signed XML
            var cms = signatureFinisher.Finish();

            // Get information about the certificate used by the user to sign the file. This method must only be called after
            // calling the Finish() method.
            var signerCertificate = signatureFinisher.GetCertificateInfo();

            // At this point, you'd typically store the XML on your database. For demonstration purposes, we'll
            // store the XML on the App_Data folder and render a page with a link to download the CMS and with the
            // signer's certificate details.

            var appDataPath = Server.MapPath("~/App_Data");
            if (!Directory.Exists(appDataPath)) {
                Directory.CreateDirectory(appDataPath);
            }
            var id = Guid.NewGuid();
            var filename = id + ".xml";
            File.WriteAllBytes(Path.Combine(appDataPath, filename), cms);

            this.SignatureFilename = filename;
            this.SignerCertificate = signerCertificate;
            Server.Transfer("XmlElementSignatureInfo.aspx");
        }
Esempio n. 4
0
        public ActionResult Index(XmlSignatureModel model)
        {
            // Get an instance of the XmlSignatureFinisher class, responsible for completing the signature process
            var signatureFinisher = new XmlSignatureFinisher(Util.GetRestPkiClient());

            // Set the token for this signature (rendered in a hidden input field, see the view)
            signatureFinisher.SetToken(model.Token);

            // Call the Finish() method, which finalizes the signature process and returns the signed PDF
            var signedXml = signatureFinisher.Finish();

            // Get information about the certificate used by the user to sign the file. This method must only be called after
            // calling the Finish() method.
            var signerCert = signatureFinisher.GetCertificateInfo();

            // At this point, you'd typically store the signed XML on your database. For demonstration purposes, we'll
            // store the XML on the App_Data folder and render a page with a link to download the signed XML and with the
            // signer's certificate details.

            var appDataPath = Server.MapPath("~/App_Data");

            if (!Directory.Exists(appDataPath))
            {
                Directory.CreateDirectory(appDataPath);
            }
            var id       = Guid.NewGuid();
            var filename = id + ".xml";

            System.IO.File.WriteAllBytes(Path.Combine(appDataPath, filename), signedXml);

            return(View("SignatureInfo", new SignatureInfoModel()
            {
                File = filename.Replace(".", "_"),                 // Note: we're passing the filename argument with "." as "_" because of limitations of ASP.NET MVC
                SignerCertificate = signerCert
            }));
        }