Esempio n. 1
0
        private void _btn_Sign_Click(object sender, EventArgs e)
        {
            if (Utils.VerifyOpensslVersion(this) == false)
            {
                return;
            }

            if (m_CreateSignatureDlg.ShowDialog() == DialogResult.OK)
            {
                EnableControls(false);

                string sDataSet;
                sDataSet = this._txBx_DataSet.Text;

                try
                {
                    DicomDataSet DataSet = new DicomDataSet();

                    // Load the Data Set to be signed
                    DataSet.Load(sDataSet, DicomDataSetLoadFlags.LoadAndClose);

                    WaitCursor waitCursor = new WaitCursor();

                    // Create a Digital Signature in the main Data Set
                    DataSet.CreateSignature(null,
                                            m_CreateSignatureDlg.PrivateKey,
                                            m_CreateSignatureDlg.DigitalCertificate,
                                            m_CreateSignatureDlg.Password,
                                            null,
                                            0,
                                            null,
                                            0);


                    // Save the signed Data Set
                    DataSet.Save(m_CreateSignatureDlg.SignedDataSet, DicomDataSetSaveFlags.None);


                    MessageBox.Show("The Data Set was signed successfully.", "Demo");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Sign Failed");
                }
                finally
                {
                    EnableControls();
                }
            }
        }