private static void SaveConfig() { string path = Path.Combine(ConfigurationManager.AppSettings["IDPDataDirectory"], _configFileName); FileConfig conf = new FileConfig(); conf.BaseUrl = ServerBaseUrl; if(IDPCertificate != null) { conf.certThumbPrint = IDPCertificate.Thumbprint; conf.certLocation = _storeLocation.ToString(); conf.certStore = _storeName.ToString(); } FileStream fs = File.OpenWrite(path); BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(fs, conf); fs.Close(); }
private static void LoadCertificate(FileConfig conf) { if(!string.IsNullOrEmpty(conf.certThumbPrint)) { _storeLocation = (StoreLocation) Enum.Parse(typeof (StoreLocation), conf.certLocation); _storeName = (StoreName)Enum.Parse(typeof(StoreName), conf.certStore); X509Store store = new X509Store(_storeName, _storeLocation); store.Open(OpenFlags.ReadOnly); X509Certificate2Collection coll = store.Certificates.Find(X509FindType.FindByThumbprint, conf.certThumbPrint, true); if(coll.Count == 1) { _idpCertificate = coll[0]; } } }