internal static object READ_Eventlog_SWELF_Reg_Key(string Key) { if (Settings.REG_Keys.Count > 1) { if (Settings.REG_Keys.ContainsKey(Key)) { return(Settings.REG_Keys[Key]); } } else { if (CHECK_Eventlog_SWELF_Reg_Key_Exists(Key)) { if (Crypto_Operation.CHECK_Value_Encrypted(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(Key)))) { return(Crypto_Operation.UnProtect_Data_Value(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(Key)))); } else { ADD_or_CHANGE_SWELF_Reg_Key(Key, Crypto_Operation.CONVERT_To_String_From_Bytes(Crypto_Operation.Protect_Data_Value(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(Key))), 1)); return(Crypto_Operation.UnProtect_Data_Value(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(Key)))); } } else { Error_Operation.Log_Error("CHANGE_Reg_Key()", "Reg Key does not exist. RegKey=" + Key, "", Error_Operation.LogSeverity.Warning); return(""); } } return(""); }
internal static string READ_SWELF_Reg_Key(REG_KEY Key, bool Log_Error = true) { try { if (Settings.REG_Keys.Count > 1) { if (Settings.REG_Keys.ContainsKey(SWELF_Keys[(int)Key].ToString())) { return(Settings.REG_Keys[SWELF_Keys[(int)Key]].ToString()); } else { return(""); } } else { if (CHECK_SWELF_Reg_Key_Exists(Key)) { if (Crypto_Operation.CHECK_Value_Encrypted(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key])))) { try { return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } catch (Exception e) { ADD_or_CHANGE_SWELF_Reg_Key(Key, SWELF_Keys[(int)Key]); return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } } else { ADD_or_CHANGE_SWELF_Reg_Key(Key, Crypto_Operation.CONVERT_To_String_From_Bytes(Crypto_Operation.Protect_Data_Value(SWELF_Keys[(int)Key].ToString()), 1)); return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } } else { return(""); } } } catch { try { if (CHECK_SWELF_Reg_Key_Exists(Key)) { if (Crypto_Operation.CHECK_Value_Encrypted(Crypto_Operation.ObjectToByteArray(BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key])))) { try { return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } catch (Exception e) { ADD_or_CHANGE_SWELF_Reg_Key(Key, SWELF_Keys[(int)Key]); return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } } else { ADD_or_CHANGE_SWELF_Reg_Key(Key, Crypto_Operation.CONVERT_To_String_From_Bytes(Crypto_Operation.Protect_Data_Value(SWELF_Keys[(int)Key].ToString()), 1)); return(Crypto_Operation.UnProtect_Data_Value((byte[])BASE_SWELF_KEY.GetValue(SWELF_Keys[(int)Key]))); } } else { if (Log_Error) { Error_Operation.Log_Error("CHANGE_Reg_Key()", "Reg Key does not exist. RegKey=" + Key, "", Error_Operation.LogSeverity.Warning); } return(""); } } catch (Exception e) { if (Log_Error) { Error_Operation.Log_Error("CHANGE_Reg_Key()", "Reg Key does not exist. RegKey=" + Key + ". " + e.Message.ToString(), e.StackTrace.ToString(), Error_Operation.LogSeverity.Warning); } return(""); } } }
internal static bool VERIFY_Central_Reg_Config_Hash(string HTTP_File_Path, string RegContents) { string HTTPFileHash; string LocalFileHash; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(HTTP_File_Path); request.AllowAutoRedirect = false; request.UnsafeAuthenticatedConnectionSharing = false; request.Timeout = 150000; ServicePointManager.Expect100Continue = true; ServicePointManager.CheckCertificateRevocationList = false; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3; using (CustomWebClient response = new CustomWebClient()) { //string Web_Config_File_Contents = response.DownloadString(HTTP_File_Path); if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == true)//determine if we use cache version { HTTPFileHash = Settings.Central_Config_Hashs[HTTP_File_Path]; } else//no cache version get from network { Uri uri = new Uri(HTTP_File_Path); Central_Config_File_Web_Cache = Crypto_Operation.CONVERT_To_String_From_Bytes(response.DownloadData(uri), 2);//get file has from Network using (var sha256 = SHA256.Create()) { HTTPFileHash = BitConverter.ToString(sha256.ComputeHash(Encoding.UTF8.GetBytes(Central_Config_File_Web_Cache))); } if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == false) { Settings.Central_Config_Hashs.Add(HTTP_File_Path, HTTPFileHash); } } using (var sha2562 = SHA256.Create())//Get local file hash { LocalFileHash = BitConverter.ToString(sha2562.ComputeHash(Encoding.UTF8.GetBytes(RegContents))); } Connection_Successful = true; if (HTTPFileHash == LocalFileHash) { return(true); } else { return(false); } } } catch (Exception e) { Connection_Successful = false; if (e.Message.Contains("has timed out") == false && e.Message.Contains("The remote name could not be resolved: ") == false) { Error_Operation.Log_Error("VERIFY_Central_File_Config_Hash()", e.Message.ToString() + " " + HTTP_File_Path + " ", e.StackTrace.ToString(), Error_Operation.LogSeverity.Informataion); } else if ((e.Message.Contains("The operation has timed out") || e.Message.Contains("The remote name could not be resolved: "))) { Error_Operation.WRITE_Errors_To_Log("VERIFY_Central_File_Config_Hash()", "Network unavaiulable for SWELF." + e.Message.ToString() + " " + HTTP_File_Path + " ", Error_Operation.LogSeverity.Informataion); } return(false); } finally { Wclient.Dispose(); } }
internal static bool VERIFY_Central_File_Config_Hash(string HTTP_File_Path, string Local_File_Path) { string HTTPFileHash; string LocalFileHash; try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(HTTP_File_Path); request.AllowAutoRedirect = false; request.UnsafeAuthenticatedConnectionSharing = false; request.Timeout = 150000; ServicePointManager.Expect100Continue = true; ServicePointManager.CheckCertificateRevocationList = false; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3; using (CustomWebClient response = new CustomWebClient()) { //string Web_Config_File_Contents = response.DownloadString(HTTP_File_Path); if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == true)//determine if we use cache version { HTTPFileHash = Settings.Central_Config_Hashs[HTTP_File_Path]; } else//no cache version get from network { Central_Config_File_Web_Cache = Crypto_Operation.CONVERT_To_String_From_Bytes(response.DownloadData(HTTP_File_Path), 2);//get file has from Network using (var sha256 = SHA256.Create()) { HTTPFileHash = BitConverter.ToString(sha256.ComputeHash(Encoding.UTF8.GetBytes(Central_Config_File_Web_Cache))); } if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == false) { Settings.Central_Config_Hashs.Add(HTTP_File_Path, HTTPFileHash); } } using (var sha2562 = SHA256.Create())//Get local file hash { if (File_Operation.CHECK_if_File_Exists(Local_File_Path) == false) { return(false);//no local file } else { LocalFileHash = BitConverter.ToString(sha2562.ComputeHash(Encoding.UTF8.GetBytes(File_Operation.READ_AllText(Local_File_Path)))); } } if (HTTPFileHash == LocalFileHash) { return(true); } else { return(false); } } } catch (Exception e) { Error_Operation.WRITE_Errors_To_Log("VERIFY_Central_File_Config_Hash()", e.Message.ToString() + " " + HTTP_File_Path + " " + Local_File_Path, Error_Operation.LogSeverity.Informataion);//log change return(false); } finally { Wclient.Dispose(); } }
internal static bool VERIFY_Central_File_Config_Hash(string HTTP_File_Path, string Local_File_Path) { string HTTPFileHash; string LocalFileHash; try { ServicePointManager.Expect100Continue = true; ServicePointManager.CheckCertificateRevocationList = false; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls | SecurityProtocolType.Ssl3; using (CustomWebClient response = new CustomWebClient()) { //string Web_Config_File_Contents = response.DownloadString(HTTP_File_Path); if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == true)//determine if we use cache version { HTTPFileHash = Settings.Central_Config_Hashs[HTTP_File_Path]; } else//no cache version get from network { Uri uri = new Uri(HTTP_File_Path); Central_Config_File_Web_Cache = Crypto_Operation.CONVERT_To_String_From_Bytes(response.DownloadData(uri), 2);//get file has from Network using (var sha256 = SHA256.Create()) { HTTPFileHash = BitConverter.ToString(sha256.ComputeHash(Encoding.UTF8.GetBytes(Central_Config_File_Web_Cache))); } if (Settings.Central_Config_Hashs.ContainsKey(HTTP_File_Path) == false) { Settings.Central_Config_Hashs.Add(HTTP_File_Path, HTTPFileHash); } } using (var sha2562 = SHA256.Create())//Get local file hash { if (File_Operation.CHECK_if_File_Exists(Local_File_Path) == false) { return(false);//no local file } else { LocalFileHash = BitConverter.ToString(sha2562.ComputeHash(Encoding.UTF8.GetBytes(File_Operation.READ_AllText(Local_File_Path)))); } } if (HTTPFileHash == LocalFileHash) { return(true); } else { return(false); } } } catch (Exception e) { if ((!e.Message.Contains("The operation has timed out") || !e.Message.Contains("The remote name could not be resolved: ")) || (Settings.Logging_Level_To_Report.ToLower() == "informataion" || Settings.Logging_Level_To_Report.ToLower() == "verbose")) { Error_Operation.Log_Error("VERIFY_Central_File_Config_Hash()", e.Message.ToString() + " " + HTTP_File_Path + " " + Local_File_Path, e.StackTrace.ToString(), Error_Operation.LogSeverity.Informataion); } return(false); } finally { Wclient.Dispose(); } }