Example #1
0
        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;
            }
        }