コード例 #1
0
        private void BtnAgregarCertificado_Click(object sender, EventArgs e)
        {
            //LblEstadoCertificado.Text = "";
            //TxtEntidadCertificadora.Text = "";
            //TxtSujeto.Text = "";
            try
            {
                string         RutaDatosEmpresa = ConfigurationManager.AppSettings["XmlServidor"];
                OpenFileDialog File             = new OpenFileDialog();
                File.Filter = "Documento Digital (*.p12,*.pfx)|*.p12;*.pfx";
                if (File.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    RutaCertificado = File.FileName;

                    FrmDatosCertificado formularioCertificado = new FrmDatosCertificado();
                    formularioCertificado.Activate();
                    formularioCertificado.ShowDialog();

                    Certificado   cer   = new Certificado();
                    List <string> datos = new List <string>();
                    datos = cer.CertificadoVerificar(RutaCertificado, claveCertificado);
                    LblEstadoCertificado.Text   = datos[1];
                    LblUnidadCertificadora.Text = datos[0];

                    MessageBox.Show("Certificado Cargado Correctamente", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    if (!System.IO.Directory.Exists(RutaDatosEmpresa))
                    {
                        System.IO.Directory.CreateDirectory(RutaDatosEmpresa);
                    }
                    string archivoDestino = System.IO.Path.Combine(RutaDatosEmpresa, File.SafeFileName);
                    System.IO.File.Copy(RutaCertificado, archivoDestino, true);
                    Program.RutaCertificado     = RutaDatosEmpresa + @"\" + Path.GetFileName(File.FileName) + "";;
                    Program.passwordCertificado = claveCertificado;

                    if (consultas.ExisteEnFacturaElectro("IDCertificado", "1", "TbCertificado"))
                    {
                        consultas.EjecutarSQLFactElectronica("UPDATE [dbo].[TbCertificado] SET [Certificado] = '" + claveCertificado + "' ,[RutaCertificado] = '" + Program.RutaCertificado + "'  ,[Usuario] = '" + LblEstadoCertificado.Text + "' , EntidadCertificadora = '" + LblUnidadCertificadora.Text + "'  WHERE IDCertificado = 1");
                    }
                    else
                    {
                        consultas.EjecutarSQLFactElectronica("INSERT INTO [dbo].[TbCertificado] ([Certificado] ,[RutaCertificado] ,[Usuario],[EntidadCertificadora]) VALUES ('" + claveCertificado + "','" + Program.RutaCertificado + "','" + LblEstadoCertificado.Text + "','" + LblUnidadCertificadora.Text + "')");
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Contraseña Incorrecta", "Contraseña Inválida", MessageBoxButtons.OK, MessageBoxIcon.Error);
                LblUnidadCertificadora.Text = "Estado";
                LblEstadoCertificado.Text   = "Estado";
            }
        }