private void button2_Click(object sender, EventArgs e) { var certificados = HelperCertificadoDigital.BuscarListaCertificados(); var caminhoArquivo = openFileDialog1.FileName; if (!File.Exists(caminhoArquivo)) { MessageBox.Show($"{caminhoArquivo}\n não existe. Favor selecionar o arquivo"); } var formSelecaoCertificado = new FormSelecaoCertificadoDigital(certificados); if (formSelecaoCertificado.ShowDialog() != DialogResult.OK) { return; } try { var nomeArquivo = caminhoArquivo.Split(Convert.ToChar(".")); HelperCertificadoDigital.AssinarArquivo(formSelecaoCertificado.CertificadoDigitalSelecionado.X509, caminhoArquivo, nomeArquivo[0] + ".cas"); var hasArquivo = HelperCriptografia.GerarHashDeArquivo(caminhoArquivo); System.IO.File.WriteAllText(nomeArquivo[0] + "_HASH.txt", hasArquivo); var comp = new HelperCompressao(); var formOk = new FormOk(); formOk.ShowDialog(); } catch (Exception er) { var formErro = new FormErro(er); formErro.ShowDialog(); } }
private void BtnSelecionarClick(object sender, EventArgs e) { if (dataGridView.SelectedRows.Count == 0) { MessageBox.Show(Resources.FormSelecaoCertificadoDigital_btnSelecionar_Click_Selecione_um_Certificado_Digital); return; } var index = dataGridView.Rows.IndexOf(dataGridView.SelectedRows[0]); var certSelecionado = _certificadosDigitais[index]; DateTime dataHoraServidor; //try //{ // using (var client = new ClienteValidacaoLVR(certSelecionado)) // dataHoraServidor = client.PegarHoraServidorSEF(); //} //catch (Exception ex) //{ // new FormErro(ex).ShowDialog(); // return; //} dataHoraServidor = DateTime.Now; if (!HelperCertificadoDigital.ValidarCertificado(certSelecionado.X509, dataHoraServidor)) { MessageBox.Show(Resources.FormSelecaoCertificadoDigital_BtnSelecionarClick_Este_certificado_digital_não_está_válido_); return; } try { if (!HelperCertificadoDigital.FazerLoginToken(certSelecionado.X509)) { return; } } catch (CryptographicException ex) { const string erroCrypt = "O certificado não pôde ser validado. Por favor, verifique se ele está inserido no computador e tente novamente."; new FormErro(new CryptographicException(erroCrypt, ex)).ShowDialog(); return; } CertificadoDigitalSelecionado = certSelecionado; DialogResult = DialogResult.OK; }