/// <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);
        }
示例#2
0
        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;
            }
        }
示例#4
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);
        }
示例#5
0
        /// <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);
        }
示例#6
0
        /// <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);
        }