/// <summary> /// Retorna os dados do provedores do certificado digital A3 /// </summary> /// <param name="provider">Nome do provider</param> /// <returns>Objeto com dados do provider</returns> /// <author>Renan Borges</author> public CertProviders GetInfoProvider(string provider) { CertProviders oDadosCert = new CertProviders(); oDadosCert.NameKey = provider; string registry_key = @"SOFTWARE\Microsoft\Cryptography\Defaults\Provider"; using (RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key)) { foreach (string subkey_name in key.GetSubKeyNames()) { if (subkey_name.Equals(oDadosCert.NameKey)) { using (RegistryKey subkey = key.OpenSubKey(subkey_name)) { oDadosCert.Type = subkey.GetValue("Type").ToString(); break; } } } } return(oDadosCert); }
/// <summary> /// Gera um XML para realizar a simulação do teste da assinatura /// </summary> /// <param name="provider">Objeto CertProviders que contem o provider que será testado</param> /// <author>Renan Borges</author> private void SimularXML(CertProviders provider) { Empresas.CriarPasta(true); ApagarXMLTeste(); XElement docElement = new XElement("SimulacaoProvider"); XElement eProvider = new XElement("Provider"); eProvider.Add(new XElement("Nome", provider.NameKey)); eProvider.Add(new XElement("Type", provider.Type)); docElement.Add(eProvider); docElement.Save(TempFile); }
/// <summary> /// Gera um XML para realizar a simulação do teste da assinatura /// </summary> /// <param name="provider">Objeto CertProviders que contem o provider que será testado</param> /// <author>Renan Borges</author> private void SimularXML(CertProviders provider) { if (System.IO.File.Exists(TempFile)) { System.IO.File.Delete(TempFile); } XElement docElement = new XElement("SimulacaoProvider"); XElement eProvider = new XElement("Provider"); eProvider.Add(new XElement("Nome", provider.NameKey)); eProvider.Add(new XElement("Type", provider.Type)); docElement.Add(eProvider); docElement.Save(TempFile); }
/// <summary> /// Realiza efetivamente o teste assinando o XML de simualação /// </summary> /// <param name="provider">Objeto com as informaçoes do provider que será testado</param> /// <returns></returns> public bool TestarProvider(CertProviders provider) { bool result = false; this.SimularXML(provider); AssinaturaDigital assinatura = new AssinaturaDigital(); assinatura.TesteCertificado = true; result = assinatura.TestarProviderCertificado(TempFile, "SimulacaoProvider", "Provider", Certificado, CodEmp, PIN); ApagarXMLTeste(); return(result); }
/// <summary> /// Realiza efetivamente o teste assinando o XML de simualação /// </summary> /// <param name="provider">Objeto com as informaçoes do provider que será testado</param> /// <returns></returns> public bool TestarProvider(CertProviders provider) { bool result = false; this.SimularXML(provider); AssinaturaDigital assinatura = new AssinaturaDigital(); assinatura.TesteCertificado = true; result = assinatura.TestarProviderCertificado(TempFile, "SimulacaoProvider", "Provider", Certificado, CodEmp, PIN, provider.NameKey, provider.Type); ApagarXMLTeste(); return result; }
/// <summary> /// Gera um XML para realizar a simulação do teste da assinatura /// </summary> /// <param name="provider">Objeto CertProviders que contem o provider que será testado</param> /// <author>Renan Borges</author> private void SimularXML(CertProviders provider) { if (System.IO.File.Exists(TempFile)) System.IO.File.Delete(TempFile); XElement docElement = new XElement("SimulacaoProvider"); XElement eProvider = new XElement("Provider"); eProvider.Add(new XElement("Nome", provider.NameKey)); eProvider.Add(new XElement("Type", provider.Type)); docElement.Add(eProvider); docElement.Save(TempFile); }
/// <summary> /// Retorna os dados do provedores do certificado digital A3 /// </summary> /// <param name="provider">Nome do provider</param> /// <returns>Objeto com dados do provider</returns> /// <author>Renan Borges</author> public CertProviders GetInfoProvider(string provider) { CertProviders oDadosCert = new CertProviders(); oDadosCert.NameKey = provider; string registry_key = @"SOFTWARE\Microsoft\Cryptography\Defaults\Provider"; using (RegistryKey key = Registry.LocalMachine.OpenSubKey(registry_key)) { foreach (string subkey_name in key.GetSubKeyNames()) { if (subkey_name.Equals(oDadosCert.NameKey)) { using (RegistryKey subkey = key.OpenSubKey(subkey_name)) { oDadosCert.Type = subkey.GetValue("Type").ToString(); break; } } } } return oDadosCert; }