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); } }
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); } }
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); } }