예제 #1
0
        private void button_selecionar_certificado_Click(object sender, EventArgs e)
        {
            if (ckbCertificadoInstalado.Checked)
            {
                CertificadoDigital oCertDig = new CertificadoDigital();

                if (oCertDig.SelecionarCertificado() == true)
                {
                    oMeuCert             = oCertDig.oCertificado;
                    oEmpresa.Certificado = oMeuCert.Subject;
                    oEmpresa.CertificadoDigitalThumbPrint = oMeuCert.Thumbprint;
                    oEmpresa.X509Certificado = oMeuCert;
                    DemonstraDadosCertificado();
                }
            }
            else
            {
                if (File.Exists(txtArquivoCertificado.Text))
                {
                    FileInfo arq = new FileInfo(txtArquivoCertificado.Text);
                    this.openFileDialog1.InitialDirectory = arq.DirectoryName;
                    this.openFileDialog1.FileName         = txtArquivoCertificado.Text;
                }
                else
                {
                    this.openFileDialog1.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
                    this.openFileDialog1.FileName         = null;
                }

                if (openFileDialog1.ShowDialog() == DialogResult.OK)
                {
                    txtArquivoCertificado.Text = this.openFileDialog1.FileName;
                }
            }
        }
예제 #2
0
        private void button_selecionar_certificado_Click(object sender, EventArgs e)
        {
            CertificadoDigital oCertDig = new CertificadoDigital();

            if (oCertDig.SelecionarCertificado() == true)
            {
                oMeuCert = oCertDig.oCertificado;
                Empresa.Configuracoes[Empresa.FindConfEmpresaIndex(cbEmpresa.SelectedValue.ToString().Trim())].Certificado     = oMeuCert.Subject;
                Empresa.Configuracoes[Empresa.FindConfEmpresaIndex(cbEmpresa.SelectedValue.ToString().Trim())].X509Certificado = oMeuCert;
                DemonstraDadosCertificado();
            }
        }
예제 #3
0
        private void button_selecionar_certificado_Click(object sender, EventArgs e)
        {
            try
            {
                if (this.ckbUsarCertificadoInstalado.Checked)
                {
                    CertificadoDigital oCertDig = new CertificadoDigital();

                    if (oCertDig.SelecionarCertificado() == true)
                    {
                        oMeuCert = oCertDig.oCertificado;
                        this.empresa.Certificado = oMeuCert.Subject;
                        this.empresa.CertificadoDigitalThumbPrint = oMeuCert.Thumbprint;
                        this.empresa.X509Certificado = oMeuCert;
                        DemonstraDadosCertificado();

                        if (changeEvent != null)
                        {
                            changeEvent(sender, e);
                        }
                    }
                }
                else
                {
                    if (File.Exists(txtArquivoCertificado.Text))
                    {
                        FileInfo arq = new FileInfo(txtArquivoCertificado.Text);
                        this.openFileDialog1.InitialDirectory = arq.DirectoryName;
                        this.openFileDialog1.FileName         = txtArquivoCertificado.Text;
                    }
                    else
                    {
                        this.openFileDialog1.InitialDirectory = "::{20D04FE0-3AEA-1069-A2D8-08002B30309D}";
                        this.openFileDialog1.FileName         = null;
                    }
                    if (openFileDialog1.ShowDialog() == DialogResult.OK)
                    {
                        txtArquivoCertificado.Text = this.openFileDialog1.FileName;
                    }
                }

                HabilitaComponentesPINA3();
            }
            catch (Exception ex)
            {
                MetroFramework.MetroMessageBox.Show(uninfeDummy.mainForm,
                                                    ex.Message,
                                                    "Seleção de certificado digital.",
                                                    MessageBoxButtons.OK);
            }
        }
예제 #4
0
        /// <summary>
        ///     Retorna o certificado digital de acordo com os dados informados.
        /// </summary>
        public X509Certificate2 ObterCertificado()
        {
            if (CertificadoBytes?.Length > 0)
            {
                return(CertificadoDigital.SelecionarCertificado(CertificadoBytes, Senha));
            }
            if (File.Exists(Certificado))
            {
                return(CertificadoDigital.SelecionarCertificado(Certificado, Senha));
            }
            var ret = CertificadoDigital.SelecionarCertificadoPin(Certificado, Senha);

            return(ret);
        }
        /// <summary>
        /// retorna o certificado digital de acordo com os dados informados.
        /// </summary>
        /// <returns>X509Certificate2.</returns>
        public X509Certificate2 ObterCertificado()
        {
            if (CertificadoBytes?.Length > 0)
            {
                return(CertificadoDigital.SelecionarCertificado(CertificadoBytes, Senha));
            }

            if (File.Exists(Certificado))
            {
                return(CertificadoDigital.SelecionarCertificado(Certificado, Senha));
            }

            var ret = CertificadoDigital.SelecionarCertificado(Certificado);

#if !NETSTANDARD2_0
            if (!Senha.IsEmpty())
            {
                ret.SetPin(Senha);
            }
#endif

            return(ret);
        }
        /// <summary>
        /// Seleciona um certificado digital instalado na maquina retornando o numero de serie do mesmo.
        /// </summary>
        /// <returns>Numero de Serie.</returns>
        public string SelecionarCertificado()
        {
            var cert = CertificadoDigital.SelecionarCertificado(string.Empty);

            return(cert?.GetSerialNumberString() ?? string.Empty);
        }