コード例 #1
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Expires = -1;
            try
            {
                idIstanza        = Request.QueryString["idIstanza"];
                comcomponentType = Request.QueryString["applet"];

                wss = new ProxyManager().getProxy();

                byte[] fileToSign = wss.downloadSignedXml(idIstanza, ((WSConservazioneLocale.InfoUtente)Session["infoutCons"]));

                if (fileToSign != null)
                {
                    if (string.IsNullOrEmpty(comcomponentType))
                    {
                        Response.ContentType = "application/xml";
                        Response.AddHeader("Content-Disposition", "inline");
                        Response.BinaryWrite(fileToSign);
                    }
                    else
                    {
                        string base64String = System.Convert.ToBase64String(fileToSign, 0, fileToSign.Length);
                        Response.Write(base64String);
                    }
                }
            }
            catch (Exception ex)
            {
                Debugger.Write("Errore nel download del file xml da firmare: " + ex.Message);
            }
        }
コード例 #2
0
        protected void BtnSign_Click(object sender, EventArgs e)
        {
            bool cofirma   = false;
            bool timestamp = false;
            bool convert   = false;

            DigitalSignature.RemoteDigitalSignManager           dsm       = null;
            DigitalSignature.RemoteDigitalSignManager.tipoFirma tipoFirma = DigitalSignature.RemoteDigitalSignManager.tipoFirma.CADES;
            DigitalSignature.RemoteDigitalSignManager.Memento   mem       = null;

            String alias, dominio, pin, otp;

            byte[] fileToSign = null;

            if (!string.IsNullOrEmpty(this.TxtHsmAlias.Text) && !string.IsNullOrEmpty(this.TxtHsmDomain.Text) && !string.IsNullOrEmpty(this.TxtHsmPin.Text) && !string.IsNullOrEmpty(this.TxtHsmLitOtp.Text))
            {
                alias   = this.TxtHsmAlias.Text;
                dominio = this.TxtHsmDomain.Text;
                pin     = this.TxtHsmPin.Text;
                otp     = this.TxtHsmLitOtp.Text;

                dsm       = new DigitalSignature.RemoteDigitalSignManager();
                tipoFirma = new DigitalSignature.RemoteDigitalSignManager.tipoFirma();
                mem       = new DigitalSignature.RemoteDigitalSignManager.Memento {
                    Alias = alias, Dominio = dominio
                };

                try
                {
                    // D.O. 16/11/2016 le seguenti proprità non sono inizializzate in Page_Load (IsPostBack = true)
                    //
                    this.wss          = new ProxyManager().getProxy();
                    this.idIstanza    = Request.QueryString["idIstanza"];
                    this.infoUtente   = ((WSConservazioneLocale.InfoUtente)Session["infoutCons"]);
                    this.infoUtenteWR = GetInfoUtenteWR(infoUtente);

                    dsm.HSM_SetMementoForUser(mem, this.infoUtenteWR);
                    //

                    fileToSign = wss.downloadSignedXml(idIstanza, this.infoUtente);

                    dsm.HSM_SignContent(idIstanza, fileToSign, cofirma, timestamp, tipoFirma, alias, dominio, otp, pin, convert, this.infoUtenteWR);
                }
                catch (System.Exception ex)
                {
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "if (parent.fra_main) {parent.fra_main.ajaxDialogModal('" + ex.Message + "', 'warning');} else {parent.ajaxDialogModal('" + ex.Message + "', 'warning');}", true);
                }
            }
            else
            {
                ScriptManager.RegisterStartupScript(this, this.GetType(), "ajaxDialogModal", "alert('Inserire tutti i campi obbligatori.';", true);
            }
        }
コード例 #3
0
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Expires = -1;
            try
            {
                idIstanza = Request.QueryString["idIstanza"];
                wss       = new ProxyManager().getProxy();
                byte[] fileToSign = wss.downloadSignedXml(idIstanza, ((WSConservazioneLocale.InfoUtente)Session["infoutCons"]));

                //va aggiunta la chiamata al servizio con MTOM o in alternativa con DIME
                //System.IO.File fileFirmato = new System.IO.FileStream("timbro_orizzontale.JPG", System.IO.FileAccess.ReadWrite);

                if (fileToSign != null)
                {
                    Response.BinaryWrite(fileToSign);
                }
            }
            catch (Exception ex)
            {
                Debugger.Write("Errore nel download dal servizio del file xml da visualizzare per la firma: " + ex.Message);
            }
        }