Beispiel #1
0
 /// <summary>
 /// Cargar certificado SSL desde la ruta establecida en configuración
 /// </summary>
 /// <param name="configuration">Configuración</param>
 public static void LoadCertificateFromConfiguration(ISSLConfiguration configuration)
 {
     if (string.IsNullOrEmpty(configuration.CertificatePath))
     {
         Debug.WriteLine("No se ha establecido algun certificado en la configuración de SSL", VerbosityLevel.Warning);
         m_status = SSLCertificateStatus.InvalidPath;
     }
     else
     {
         if (File.Exists(configuration.CertificatePath))
         {
             bool usePassword = !string.IsNullOrEmpty(configuration.CertificatePassword);
             if (usePassword)
             {
                 m_globalCert = new X509Certificate2(configuration.CertificatePath, configuration.CertificatePassword);
             }
             else
             {
                 m_globalCert = new X509Certificate2(configuration.CertificatePath);
             }
             Debug.WriteLine("Establecido certificado global del sistema", VerbosityLevel.Info);
             m_status = SSLCertificateStatus.Loaded;
         }
         else
         {
             Debug.WriteLine($"No se puede cargar el certificado '{configuration.CertificatePath}' porque no existe", VerbosityLevel.Error);
             m_status = SSLCertificateStatus.NotExists;
         }
     }
 }
Beispiel #2
0
        /// <summary>
        /// Revisar si un certificado existe para determinada dirección IP
        /// </summary>
        /// <param name="address">Dirección IP</param>
        public static void CheckAutoGenerateCertificate(IPAddress address)
        {
            string filepath = GetAutogenCertFilepath(address);

            if (!File.Exists(filepath))
            {
                AutoGenerateCertificate(address);
            }
            m_globalCert = new X509Certificate2(filepath, PASSWORD_DEFAULT_CA);
            m_status     = SSLCertificateStatus.Loaded;
            Debug.WriteLine("SSLAutogen", $"Certificado para '{address}' generado y cargado", VerbosityLevel.Info);
        }