/// <summary> /// 将界面上的值写入EncryptionPolicy对象 /// </summary> /// <returns></returns> public UMPEncryptionPolicy GetPolicyInTypeU(UMPEncryptionPolicy policy, PolicyUpdateEntry policyUpdate) { string strPwd = string.Empty; if (IPageParent.iAddOrModify == (int)OperationType.Add) { if (chkShowPasswordI.IsChecked == true) { strPwd = TextPasswordShow.Text; } else { strPwd = TextPasswordHidden.Password; } } else if (IPageParent.iAddOrModify == (int)OperationType.Modify) { if (chkChangeKey.IsChecked == true) { if (chkShowPasswordC.IsChecked == true) { strPwd = TextChangePwdShow.Text; } else { strPwd = TextChangePwdHidden.Password; } policyUpdate.IsUpdatePwd = true; } else { strPwd = S2400EncryptOperation.DecryptWithM002(IPageParent.policyModifying.TypeuEncryptKey); } if (radEnableDate.IsChecked == true) { policy.TypeUStartTime = DateTime.Parse(StartDateTime.Text).ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); policyUpdate.EffectTime = policy.TypeUStartTime; } else if (radEnableImmediately.IsChecked == true) { policy.IsImmediately = 1; IPageParent.mainPage.GetAppServerCurrentTime(); policyUpdate.EffectTime = S2400App.GolbalCurrentEncryptionDBTime.ToString("yy-MM-dd HH:mm:ss"); } } policy.TypeuEncryptKey = S2400EncryptOperation.EncryptWithM002(strPwd); return(policy); }
private static OperationReturn SendMsgToService00(string strKeyGenHost, string strKeyGenPort) { OperationReturn optReturn = new OperationReturn(); optReturn.Code = Defines.RET_SUCCESS; optReturn.Result = true; string LStrSendMessage = string.Empty; TcpClient LTcpClient = null; SslStream LSslStream = null; string LStrReadMessage = string.Empty; try { LStrSendMessage = Common2400.S2400EncryptOperation.EncryptWithM004("R001"); LStrSendMessage += ConstValue.SPLITER_CHAR; LStrSendMessage += S2400EncryptOperation.EncryptWithM004(strKeyGenHost + ":8009"); LTcpClient = new TcpClient("127.0.0.1", 8009); LSslStream = new SslStream(LTcpClient.GetStream(), false, new RemoteCertificateValidationCallback(ValidateServerCertificate), null); LSslStream.AuthenticateAsClient("VoiceCyber.PF", null, SslProtocols.Default, false); byte[] LByteMesssage = Encoding.UTF8.GetBytes(LStrSendMessage + "\r\n"); LSslStream.Write(LByteMesssage); LSslStream.Flush(); if (ReadMessageFromServer(LSslStream, ref LStrReadMessage)) { if (LStrReadMessage.TrimEnd("\r\n".ToCharArray()) == "OK") { optReturn.Code = Defines.RET_SUCCESS; optReturn.Result = true; } else { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = LStrReadMessage; } } } catch (Exception ex) { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = ex.Message; optReturn.Exception = ex; } return(optReturn); }
private void InitMachines() { WebRequest webRequest = new WebRequest(); webRequest.Code = (int)S2400RequestCode.GetAllMachines; webRequest.Session = CurrentApp.Session; webRequest.ListData.Add(CurrentApp.Session.UserInfo.UserID.ToString()); webRequest.ListData.Add(CurrentApp.Session.UserID.ToString()); Service24011Client client = new Service24011Client(WebHelper.CreateBasicHttpBinding(CurrentApp.Session), WebHelper.CreateEndpointAddress(CurrentApp.Session.AppServerInfo, "Service24011")); WebReturn webReturn = client.DoOperation(webRequest); CurrentApp.MonitorHelper.AddWebReturn(webReturn); client.Close(); if (!webReturn.Result) { ShowException(string.Format("WSFail.\t{0}\t{1}", webReturn.Code, webReturn.Message)); return; } StringValuePairs obj = null; OperationReturn optReturn; ComboBoxItem item = null; for (int i = 0; i < webReturn.ListData.Count; i++) { optReturn = XMLHelper.DeserializeObject <StringValuePairs>(webReturn.ListData[i]); if (!optReturn.Result) { ShowException(string.Format("Fail.\t{0}\t{1}", optReturn.Code, optReturn.Message)); return; } obj = optReturn.Data as StringValuePairs; obj.Value = S2400EncryptOperation.DecryptWithM004(S2400EncryptOperation.DecodeEncryptValue(obj.Value)); item = new ComboBoxItem(); item.Content = obj.Value; item.DataContext = obj; cmbServers.Items.Add(item); } if (cmbServers.Items.Count > 0) { cmbServers.SelectedIndex = 0; } }
//启用、禁用服务 public static OperationReturn EnableDisable(string strHost, string strPort, int iOperation, string strHostEncrypted) { OperationReturn optReturn = new OperationReturn(); Socket LocalSocket = null; int LIntCheckKeyPosition, LIntRNKeyPosition; int LIntRecievedData = 0; string LStrRecievedData = string.Empty; string LStrSession = string.Empty; string LStrCerification = string.Empty; string LStrSendMessage = string.Empty; string LStrReturnCode = string.Empty; string LStrDynamicSQL = string.Empty; List <string> LocalListStrProfile = new List <string>(); string LStrResultString = string.Empty; try { LocalSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); LocalSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 10000); LocalSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 10000); LocalSocket.Connect(strHost, int.Parse(strPort)); byte[] LByteReceiveData = new byte[1024]; LIntCheckKeyPosition = -1; LIntRNKeyPosition = -1; while (true) { LIntRecievedData = LocalSocket.Receive(LByteReceiveData); byte[] LByteActRecieveData = new byte[LIntRecievedData]; Buffer.BlockCopy(LByteReceiveData, 0, LByteActRecieveData, 0, LIntRecievedData); LStrRecievedData += Encoding.Default.GetString(LByteActRecieveData); LIntCheckKeyPosition = LStrRecievedData.IndexOf("Session"); if (LIntCheckKeyPosition < 0) { LIntCheckKeyPosition = -1; continue; } LIntRNKeyPosition = LStrRecievedData.IndexOf("\r\n", LIntCheckKeyPosition); if (LIntRNKeyPosition > 0) { break; } else { LIntRNKeyPosition = -1; continue; } } LStrSession = LStrRecievedData.Substring(LIntCheckKeyPosition + "Session".Length + 2); LIntRNKeyPosition = LStrSession.IndexOf("\r\n"); LStrSession = LStrSession.Substring(0, LIntRNKeyPosition).Trim(); LStrCerification = S2400EncryptOperation.ConvertSessionToCerification(LStrSession); LStrSendMessage = "hello " + LStrCerification + "\r\n"; LIntCheckKeyPosition = -1; LIntRNKeyPosition = -1; LStrRecievedData = string.Empty; LocalSocket.Send(Encoding.Default.GetBytes(LStrSendMessage)); while (true) { LIntRecievedData = LocalSocket.Receive(LByteReceiveData); byte[] LByteActRecieveData = new byte[LIntRecievedData]; Buffer.BlockCopy(LByteReceiveData, 0, LByteActRecieveData, 0, LIntRecievedData); LStrRecievedData += Encoding.Default.GetString(LByteActRecieveData); LIntCheckKeyPosition = LStrRecievedData.IndexOf("retcode"); if (LIntCheckKeyPosition < 0) { LIntCheckKeyPosition = -1; continue; } LIntRNKeyPosition = LStrRecievedData.IndexOf("\r\n", LIntCheckKeyPosition); if (LIntRNKeyPosition > 0) { break; } else { LIntRNKeyPosition = -1; continue; } } LStrReturnCode = LStrRecievedData.Substring(8, 1); if (LStrReturnCode != "0") { optReturn.Result = false; optReturn.Code = (int)S2400WcfErrorCode.KeyGenServerConnFailed; optReturn.Message = "Key generation server connection failed "; return(optReturn); } if (iOperation == (int)OperationType.Enable) { LStrSendMessage = "invokeid=112233;command=enablegenerator;generatorid=" + strHostEncrypted + ";\r\n"; } else if (iOperation == (int)OperationType.Disable) { LStrSendMessage = "invokeid=112233;command=disablegenerator;\r\n"; } else { optReturn.Result = false; optReturn.Code = (int)S2400WcfErrorCode.ParamError; optReturn.Message = "Param error"; return(optReturn); } LIntCheckKeyPosition = -1; LIntRNKeyPosition = -1; LStrRecievedData = string.Empty; LocalSocket.Send(Encoding.Default.GetBytes(LStrSendMessage)); while (true) { LIntRecievedData = LocalSocket.Receive(LByteReceiveData); byte[] LByteActRecieveData = new byte[LIntRecievedData]; Buffer.BlockCopy(LByteReceiveData, 0, LByteActRecieveData, 0, LIntRecievedData); LStrRecievedData += Encoding.Default.GetString(LByteActRecieveData); LIntCheckKeyPosition = LStrRecievedData.IndexOf("retcode"); if (LIntCheckKeyPosition < 0) { LIntCheckKeyPosition = -1; continue; } LIntRNKeyPosition = LStrRecievedData.IndexOf("\r\n", LIntCheckKeyPosition); if (LIntRNKeyPosition > 0) { break; } else { LIntRNKeyPosition = -1; continue; } } LStrReturnCode = LStrRecievedData.Substring(25, 1); if (LStrReturnCode != "0") { optReturn.Result = false; optReturn.Code = (int)S2400WcfErrorCode.EnableDisableKeyGenServerFailed; optReturn.StringValue = LStrReturnCode; optReturn.Message = string.Format("Enable / Disable Key Server {0} failed with error code: {1}", strHost, LStrReturnCode); return(optReturn); } optReturn.Result = true; optReturn.Code = Defines.RET_SUCCESS; optReturn.StringValue = LStrReturnCode; } catch (Exception ex) { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = ex.Message; } finally { if (LocalSocket != null) { if (LocalSocket.Connected) { LocalSocket.Close(); } } } return(optReturn); }
/// <summary> /// /// </summary> /// <param name="session"></param> /// <param name="listParams"></param> /// listParams[0] : ResID /// listParams[1] : Key /// listParams[2] : IsMain /// listParams[3] : HostAddress(加密前的) /// listParams[4] : Port(加密前的 ) /// listParams[5] : MachineID /// listParams[6] : UserName /// listParams[7] : Pwd private static OperationReturn UpdateData(SessionInfo session, List <string> listParams) { OperationReturn optReturn = new OperationReturn(); try { string rentToken = session.RentInfo.Token; string strSql = string.Empty; long errNumber = 0; string strErrMsg = string.Empty; string strErrorCode = string.Empty; string strErrorMsg = string.Empty; switch (session.DBType) { case 2: DbParameter[] mssqlParameters = { MssqlOperation.GetDbParameter("@AInParam00", MssqlDataType.NVarchar, 1024), MssqlOperation.GetDbParameter("@AInParam01", MssqlDataType.NVarchar, 1024), MssqlOperation.GetDbParameter("@AInParam02", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInParam03", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInparam04", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInparam05", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInparam06", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInparam07", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@AInparam08", MssqlDataType.Varchar, 1024), MssqlOperation.GetDbParameter("@aouterrornumber", MssqlDataType.Bigint, 0), MssqlOperation.GetDbParameter("@aouterrorstring", MssqlDataType.NVarchar, 4000) }; mssqlParameters[0].Value = session.RentInfo.Token; mssqlParameters[1].Value = listParams[0]; mssqlParameters[2].Value = listParams[1]; mssqlParameters[3].Value = listParams[2]; mssqlParameters[4].Value = S2400EncryptOperation.EncodeEncryptValue((int)ObjectPropertyEncryptMode.E2Hex, listParams[3]); mssqlParameters[5].Value = listParams[4]; mssqlParameters[6].Value = listParams[5]; mssqlParameters[7].Value = listParams[6]; mssqlParameters[8].Value = listParams[7]; mssqlParameters[9].Value = errNumber; mssqlParameters[10].Value = strErrMsg; mssqlParameters[9].Direction = ParameterDirection.Output; mssqlParameters[10].Direction = ParameterDirection.Output; optReturn = MssqlOperation.ExecuteStoredProcedure(session.DBConnectionString, "P_11_017", mssqlParameters); strErrorCode = mssqlParameters[9].Value.ToString(); strErrorMsg = mssqlParameters[10].Value.ToString(); if (!optReturn.Result) { return(optReturn); } break; case 3: DbParameter[] oracleParameters = { OracleOperation.GetDbParameter("@AInParam00", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInParam01", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInParam02", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam03", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam04", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam05", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam06", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam07", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@AInparam08", OracleDataType.Nvarchar2, 1024), OracleOperation.GetDbParameter("@aouterrornumber", OracleDataType.Int32, 0), OracleOperation.GetDbParameter("@aouterrorstring", OracleDataType.Nvarchar2, 4000) }; oracleParameters[0].Value = session.RentInfo.Token; oracleParameters[1].Value = listParams[0]; oracleParameters[2].Value = listParams[1]; oracleParameters[3].Value = listParams[2]; oracleParameters[4].Value = S2400EncryptOperation.EncodeEncryptValue((int)ObjectPropertyEncryptMode.E2Hex, listParams[3]); oracleParameters[5].Value = listParams[4]; oracleParameters[6].Value = listParams[5]; oracleParameters[7].Value = listParams[6]; oracleParameters[8].Value = listParams[7]; oracleParameters[9].Value = errNumber; oracleParameters[10].Value = strErrMsg; oracleParameters[9].Direction = ParameterDirection.Output; oracleParameters[10].Direction = ParameterDirection.Output; optReturn = OracleOperation.ExecuteStoredProcedure(session.DBConnectionString, "P_11_017", oracleParameters); strErrorCode = oracleParameters[9].Value.ToString(); strErrorMsg = oracleParameters[10].Value.ToString(); if (!optReturn.Result) { return(optReturn); } break; } if (strErrorCode != "0") { optReturn.Message = "Excute error:" + strErrorCode + " : " + strErrorMsg; optReturn.Code = Defines.RET_FAIL; optReturn.Result = false; return(optReturn); } optReturn = SendMsgToService00(listParams[3], listParams[4]); } catch (Exception ex) { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = ex.Message; optReturn.Exception = ex; } return(optReturn); }
/// <summary> /// 添加或更新邮件通知参数 /// </summary> /// <param name="session"></param> /// <param name="lstParams"></param> /// lstParams[0] : 是否启用邮件通知 /// lstParams[1] : SMTP /// lstParams[2] : SMTP Port /// lstParams[3] : 需要SSL /// lstParams[4] : 账号 /// lstParams[5] : 密码 /// lstParams[6] : 需要身份认证 /// lstParams[7] : Email Address /// <returns></returns> private OperationReturn UpdateEmailInfo(SessionInfo session, List <string> lstParams) { OperationReturn optReturn = new OperationReturn(); try { string rentToken = session.RentInfo.Token; string strSql = string.Empty; lstParams[5] = S2400EncryptOperation.EncryptWithM002(lstParams[5]); IDbConnection objConn = null; IDbDataAdapter objAdapter = null; DbCommandBuilder objCmdBuilder = null; switch (session.DBType) { case 2: strSql = string.Format("SELECT * FROM T_11_001_{0} WHERE C001 = '{1}' and C002 =24 and C004 = 24041 ORDER BY C005", rentToken, session.RentID); optReturn = MssqlOperation.GetDataSet(session.DBConnectionString, strSql); if (!optReturn.Result) { return(optReturn); } objConn = MssqlOperation.GetConnection(session.DBConnectionString); objAdapter = MssqlOperation.GetDataAdapter(objConn, strSql); objCmdBuilder = MssqlOperation.GetCommandBuilder(objAdapter); break; case 3: strSql = string.Format("SELECT * FROM T_11_001_{0} WHERE C001 = '{1}' AND C002 =24 AND C004 = 24041 ORDER BY C005", rentToken, session.RentID); optReturn = OracleOperation.GetDataSet(session.DBConnectionString, strSql); if (!optReturn.Result) { return(optReturn); } objConn = OracleOperation.GetConnection(session.DBConnectionString); objAdapter = OracleOperation.GetDataAdapter(objConn, strSql); objCmdBuilder = OracleOperation.GetCommandBuilder(objAdapter); break; } if (objConn == null || objAdapter == null || objCmdBuilder == null) { optReturn.Result = false; optReturn.Code = Defines.RET_OBJECT_NULL; optReturn.Message = string.Format("Db object is null"); return(optReturn); } objCmdBuilder.ConflictOption = ConflictOption.OverwriteChanges; objCmdBuilder.SetAllValues = false; DataSet objDataSet = new DataSet(); objAdapter.Fill(objDataSet); List <string> listMsg = new List <string>(); if (lstParams[0] == "0") { DataRow[] drs = objDataSet.Tables[0].Select("c003 = 240401"); if (drs.Count() > 0) { drs[0]["C006"] = lstParams[0]; drs[0]["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); drs[0]["C019"] = session.UserID; listMsg.Add("Update Email Enable : 0"); } } else { for (int i = 0; i < lstParams.Count; i++) { string strParamID = "24040" + (i + 1); DataRow[] drs = objDataSet.Tables[0].Select(string.Format("c003 = {0}", strParamID)); //如果存在 则修改 if (drs.Count() > 0) { drs[0]["C006"] = lstParams[i]; drs[0]["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); drs[0]["C019"] = session.UserID; listMsg.Add(string.Format("Update {0}", lstParams[i])); } //如果不存在 则插入 else { DataRow row = objDataSet.Tables[0].NewRow(); row["C001"] = session.RentID; row["C002"] = 24; row["C003"] = "24040" + (i + 1); row["C004"] = "24041"; row["C005"] = i; row["C006"] = lstParams[i]; row["C007"] = 13; row["C009"] = 0; row["C010"] = 0; row["C011"] = 0; row["C015"] = 0; row["C018"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); row["C019"] = session.UserID; row["C020"] = -1; row["C021"] = DateTime.Now.ToUniversalTime().ToString("yyyy-MM-dd HH:mm:ss"); objDataSet.Tables[0].Rows.Add(row); listMsg.Add(string.Format("Add {0}", lstParams[i])); } } } objAdapter.Update(objDataSet); objDataSet.AcceptChanges(); optReturn.Data = listMsg; optReturn.Result = true; optReturn.Code = Defines.RET_SUCCESS; } catch (Exception ex) { optReturn.Result = false; optReturn.Code = Defines.RET_FAIL; optReturn.Message = ex.Message; optReturn.Exception = ex; } return(optReturn); }