Example #1
0
        public static void AddTempCerts()
        {
            if (_tempCerts == null)
                _tempCerts = new List<string>();

            var inlineCertificateLocation = Program.InlinePath.Value;

            // Root Certificates
            try
            {
                var CertFiles = Directory.EnumerateFiles(inlineCertificateLocation, "WLAN_Cert_Root_*.*").ToList();
                if (CertFiles.Count > 0)
                {
                    foreach (var certFile in CertFiles)
                    {
                        var cert = new X509Certificate2(File.ReadAllBytes(certFile), "password");
                        var result = Add(StoreName.Root, StoreLocation.LocalMachine, cert);
                        if (result)
                        {
                            if (Path.GetFileNameWithoutExtension(certFile).ToLower().Contains("temp"))
                                _tempCerts.Add(cert.SerialNumber);
                            Program.Status.UpdateStatus(null, null, string.Format("Added Root Certificate: {0}", cert.ShortSubjectName()));
                            Program.SleepThread(500, false);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            // Intermediate Certificates
            try
            {
                var CertFiles = Directory.EnumerateFiles(inlineCertificateLocation, "WLAN_Cert_Intermediate_*.*").ToList();
                if (CertFiles.Count > 0)
                {
                    foreach (var certFile in CertFiles)
                    {
                        var cert = new X509Certificate2(File.ReadAllBytes(certFile), "password");
                        var result = Add(StoreName.CertificateAuthority, StoreLocation.LocalMachine, cert);
                        if (result)
                        {
                            if (Path.GetFileNameWithoutExtension(certFile).ToLower().Contains("temp"))
                                _tempCerts.Add(cert.SerialNumber);
                            Program.Status.UpdateStatus(null, null, string.Format("Added Intermediate Certificate: {0}", cert.ShortSubjectName()));
                            Program.SleepThread(500, false);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }

            // Host/Personal Certificates
            try
            {
                var CertFiles = Directory.EnumerateFiles(inlineCertificateLocation, "WLAN_Cert_Personal_*.*").ToList();
                if (CertFiles.Count > 0)
                {
                    foreach (var certFile in CertFiles)
                    {
                        var cert = new X509Certificate2(File.ReadAllBytes(certFile), "password", X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet);
                        var result = Add(StoreName.My, StoreLocation.LocalMachine, cert);
                        if (result)
                        {
                            if (Path.GetFileNameWithoutExtension(certFile).ToLower().Contains("temp"))
                                _tempCerts.Add(cert.SerialNumber);
                            Program.Status.UpdateStatus(null, null, string.Format("Added Host Certificate: {0}", cert.ShortSubjectName()));
                            Program.SleepThread(500, false);
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }