public static List <Certificado> BuscaCertificadosValidos() { try { List <Certificado> ListaRetorno = new List <Certificado>(); ListaRetorno.Add(new Certificado() { Chave = "0", Nome = "" }); BRYSIGNERCOMLib.IRepositorio repositorio = new BRYSIGNERCOMLib.Repositorio(); repositorio.inicialize("MY", CERT_SYSTEM_STORE_CURRENT_USER); int totalCertificados = repositorio.getCountCertificados(); BRYSIGNERCOMLib.ICertificado certificado = null; for (int i = 0; i < totalCertificados; ++i) { certificado = repositorio.getCertificado(i); string ste = certificado.getAssunto(); var teste = ste; if (certificado.verificarValidade() == 1) { ListaRetorno.Add(new Certificado() { Chave = certificado.getIdCertificado(), Nome = certificado.getAssuntoCN(), CPF = certificado.getCPF() }); certificado.finalize(); } } repositorio.finalize(); return(ListaRetorno); } catch (Exception ex) { throw; } }
public static string BuscaCPFCertificadosValidos(string sChave) { try { BRYSIGNERCOMLib.IRepositorio repositorio = new BRYSIGNERCOMLib.Repositorio(); repositorio.inicialize("MY", CERT_SYSTEM_STORE_CURRENT_USER); int totalCertificados = repositorio.getCountCertificados(); BRYSIGNERCOMLib.ICertificado certificado = null; for (int i = 0; i < totalCertificados; ++i) { certificado = repositorio.getCertificado(i); string ste = certificado.getAssunto(); var teste = ste; if (certificado.verificarValidade() == 1) { if (sChave == certificado.getIdCertificado()) { string sCpf = certificado.getCPF(); certificado.finalize(); return(sCpf); } certificado.finalize(); } } repositorio.finalize(); return(""); } catch (Exception ex) { throw; } }
public string getInfoCertificado(string chave, string sNivel) { try { StringBuilder retorno = new StringBuilder(); BRYSIGNERCOMLib.IRepositorio repositorio = new BRYSIGNERCOMLib.Repositorio(); repositorio.inicialize("MY", CERT_SYSTEM_STORE_CURRENT_USER); int totalCertificados = repositorio.getCountCertificados(); BRYSIGNERCOMLib.ICertificado certificado = null; for (int i = 0; i < totalCertificados; ++i) { certificado = repositorio.getCertificado(i); if (certificado.getIdCertificado() == chave) { // retorno.Append("<Certs> "); retorno.Append(" "); retorno.Append(" <Cert" + sNivel + "> "); retorno.Append(" <DataTerminio>" + certificado.getDataTermino() + "</DataTerminio> "); retorno.Append(" <IdCertificado>" + certificado.getIdCertificado() + "</IdCertificado> "); retorno.Append(" <Assunto>C = " + certificado.getAssuntoC() + " O = " + certificado.getAssuntoO() + " OU = " + certificado.getAssuntoOU() + " CN = " + certificado.getAssuntoCN() + " </Assunto> "); retorno.Append(" <AssuntoCN>" + certificado.getAssuntoCN() + "</AssuntoCN> "); retorno.Append(" <AssuntoO>" + certificado.getAssuntoO() + " </AssuntoO> "); retorno.Append(" <AssuntoOU>" + certificado.getAssuntoOU() + "</AssuntoOU> "); retorno.Append(" <AssuntoL>" + certificado.getAssuntoL() + "</AssuntoL> "); retorno.Append(" <AssuntoS>" + certificado.getAssuntoS() + "</AssuntoS> "); retorno.Append(" <AssuntoC>" + certificado.getAssuntoC() + "</AssuntoC> "); retorno.Append(" <AssuntoE>" + certificado.getAssuntoE() + "</AssuntoE> "); retorno.Append(" <Emissor>C = " + certificado.getEmissorC() + " O = " + certificado.getEmissorO() + " OU = " + certificado.getEmissorOU() + "B CN = " + certificado.getEmissorCN() + " </Emissor> "); retorno.Append(" <EmissorCN>" + certificado.getEmissorCN() + " </EmissorCN> "); retorno.Append(" <EmissorO>" + certificado.getEmissorO() + " </EmissorO> "); retorno.Append(" <EmissorOU>" + certificado.getEmissorOU() + " </EmissorOU> "); retorno.Append(" <EmissorL>" + certificado.getEmissorL() + " </EmissorL> "); retorno.Append(" <EmissorS>" + certificado.getEmissorS() + " </EmissorS> "); retorno.Append(" <EmissorC>" + certificado.getEmissorC() + " </EmissorC> "); retorno.Append(" <EmissorE>" + certificado.getEmissorE() + " </EmissorE> "); retorno.Append(" <NumeroSerial>" + certificado.getNumeroSerial() + "</NumeroSerial> "); retorno.Append(" <DataInicio>" + certificado.getDataInicio() + " </DataInicio> "); retorno.Append(" <CPF>" + certificado.getCPF() + " </CPF> "); retorno.Append(" <CPNJ>" + certificado.getCNPJ() + " </CPNJ> "); retorno.Append(" </Cert" + sNivel + "> "); retorno.Append(" </Certs> "); certificado.finalize(); break; } } repositorio.finalize(); return(retorno.ToString()); } catch (Exception ex) { ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo w: " + ex.Message); ACSLog.InsertLog(MessageBoxIcon.Error, "Não foi possível assinar o documento. Motivo e: " + ex.InnerException); throw new ExceptionCustom("Não foi possível assinar o documento. Motivo e: " + ex.InnerException); throw new ExceptionCustom("Não foi possível assinar o documento. Motivo w: " + ex.Message); throw; } }