/// <summary> /// Obtém um objeto contendo o certificado digital /// <para>Se for informado <see cref="ConfiguracaoCertificado.Arquivo"/>, /// o certificado digital será obtido pelo método <see cref="ObterDeArquivo(string,string)"/>, /// senão será obtido pelo método <see cref="ListareObterDoRepositorio"/> </para> /// <para>Para liberar os recursos do certificado, após seu uso, invoque o método <see cref="X509Certificate2.Reset()"/></para> /// </summary> public static X509Certificate2 ObterCertificado(ConfiguracaoCertificado configuracaoCertificado) { if (!configuracaoCertificado.ManterDadosEmCache) { return(ObterDadosCertificado(configuracaoCertificado)); } if (!string.IsNullOrEmpty(configuracaoCertificado.CacheId) && CacheCertificado.ContainsKey(configuracaoCertificado.CacheId)) { return(CacheCertificado[configuracaoCertificado.CacheId]); } X509Certificate2 certificado = ObterDadosCertificado(configuracaoCertificado); var keyCertificado = string.IsNullOrEmpty(configuracaoCertificado.CacheId) ? certificado.SerialNumber : configuracaoCertificado.CacheId; configuracaoCertificado.CacheId = keyCertificado; CacheCertificado.Add(keyCertificado, certificado); return(CacheCertificado[keyCertificado]); }
private ConfiguracaoServico() { ConfiguracaoCertificado = new ConfiguracaoCertificado(); }
public ConfiguracaoServico() { ConfiguracaoCertificado = new ConfiguracaoCertificado(); TipoEmissao = tpEmis.teNormal; }