protected void btnRegDsc_Click(object sender, EventArgs e)
    {
        try
        {
            GSTR1Desc.Text = string.Empty;

            //var cert = getCertificate();
            //byte[] data = Encoding.UTF8.GetBytes(pan);
            //var sign = Convert.ToBase64String(SignCms(data, cert));
            string sign = ClsSignUtil.Sign(pan);

            var     result = RegisterDSC(pan, sign);
            JObject jObj   = JObject.Parse(result.ToString());
            if (jObj.GetValue("status") != null && jObj.GetValue("status").ToString() == "SUCCESS")
            {
                GSTR1Desc.ForeColor = System.Drawing.Color.Green;
                GSTR1Desc.Text      = jObj.GetValue("message").ToString();
            }
            else
            {
                GSTR1Desc.ForeColor = System.Drawing.Color.Red;
                GSTR1Desc.Text      = jObj.GetValue("message").ToString();
            }
        }
        catch
        {
        }
    }
    protected void btnValidate_Click(object sender, EventArgs e)
    {
        X509Store store = new X509Store(StoreLocation.CurrentUser);

        store.Open(OpenFlags.ReadOnly);
        X509CertificateCollection certificates = X509Certificate2UI.SelectFromCollection(store.Certificates,
                                                                                         "Select Certificate",
                                                                                         "Select Certificate for encrypting return",
                                                                                         X509SelectionFlag.SingleSelection
                                                                                         );

        X509Certificate2 mycert = null;

        foreach (X509Certificate2 cert in store.Certificates)
        {
            if (cert.Subject.Contains("CN=BHAGWAT SINGH NAGORI"))
            {
                //byte[] certbyte = Encoding.ASCII.GetBytes(cert.ToString());
                mycert = cert;
                break;
            }
        }
        store.Close();
        objpl                = new PL_APILog();
        objpl.Ind            = 3;
        objpl.ReferenceId    = lblreferenceId.Text;
        objpl.ClientCode     = int.Parse(Session["ClientCode"].ToString());
        objpl.ClientCodeOdp  = int.Parse(Session["ClientCodeOdp"].ToString());
        objpl.CaCode         = int.Parse(Session["CaCode"].ToString());
        objpl.CaCodeOdp      = int.Parse(Session["CaCodeOdp"].ToString());
        objpl.GSTNNO         = Session["ClientGSTNNo"].ToString();
        objpl.LogId          = Convert.ToInt64(hfLogId.Value.ToString());
        objpl.RecordNo       = 3;
        objpl.MonthCD        = int.Parse(Session["MonthYrCode"].ToString());
        tblInvoice.Visible   = false;
        lblUploadStatus.Text = "";
        btnRefresh.Visible   = false;
        DataTable dt = CLSCommon.CallApiPost("api/GetSignedData/GetSignedData", objpl);

        if (dt != null)
        {
            if (dt.Rows[0]["res"].ToString() == "1")
            {
                byte[] SignByte = Convert.FromBase64String(dt.Rows[0]["SignedData"].ToString());
                //byte[] SignByte = Encoding.ASCII.GetBytes(EDecodedStringnc);
                bool Check = ClsSignUtil.Verify(SignByte, mycert);
            }
        }
    }