Exemple #1
0
        /** [シングルトン]constructor
         */
        private Crypt()
        {
            //main_security
            this.main_security = new Main_Security();

            //work_list
            this.work_list = new System.Collections.Generic.List <WorkItem>();

            //add_list
            this.add_list = new System.Collections.Generic.List <WorkItem>();
        }
Exemple #2
0
        /** [シングルトン]constructor
         */
        private Crypt()
        {
            //work
            this.work_pool = new List.NodePool <WorkItem>(16);
            this.work_add  = new System.Collections.Generic.LinkedList <WorkItem>();
            this.work_list = new System.Collections.Generic.LinkedList <WorkItem>();

            //main_security
            this.main_security = new Main_Security();

            //PlayerLoopType
            this.playerloop_flag = true;
            Fee.PlayerLoopSystem.PlayerLoopSystem.GetInstance().Add(Config.PLAYERLOOP_ADDTYPE, Config.PLAYERLOOP_TARGETTYPE, typeof(PlayerLoopType.Fee_Crypt_Main), this.Main);
        }
Exemple #3
0
        /** 更新。
         *
         *      return == true : 完了。
         *
         */
        public bool Main()
        {
            switch (this.mode)
            {
            case Mode.Start:
            {
                switch (this.request_type)
                {
                case RequestType.EncryptPublicKey:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestEncryptPublicKey(this.request_binary, this.request_key) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;

                case RequestType.DecryptPrivateKey:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestDecryptPrivateKey(this.request_binary, this.request_key) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;

                case RequestType.CreateSignaturePrivateKey:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestCreateSignaturePrivateKey(this.request_binary, this.request_key) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;

                case RequestType.VerifySignaturePublicKey:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestVerifySignaturePublicKey(this.request_binary, this.request_signature_binary, this.request_key) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;

                case RequestType.EncryptPass:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestEncryptPass(this.request_binary, this.request_pass, this.request_salt) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;

                case RequestType.DecryptPass:
                {
                    if (Fee.Crypt.Crypt.GetInstance().GetMainSecurity().RequestDecryptPass(this.request_binary, this.request_pass, this.request_salt) == true)
                    {
                        this.mode = Mode.Do_Security;
                    }
                } break;
                }
            } break;

            case Mode.End:
            {
            } return(true);

            case Mode.Do_Security:
            {
                Main_Security t_main = Fee.Crypt.Crypt.GetInstance().GetMainSecurity();

                this.item.SetResultProgress(t_main.GetResultProgress());

                if (t_main.GetResultType() != Main_Security.ResultType.None)
                {
                    //結果。
                    bool t_success = false;
                    switch (t_main.GetResultType())
                    {
                    case Main_Security.ResultType.Binary:
                    {
                        if (t_main.GetResultBinary() != null)
                        {
                            this.item.SetResultBinary(t_main.GetResultBinary());
                            t_success = true;
                        }
                    } break;

                    case Main_Security.ResultType.VerifySuccess:
                    {
                        this.item.SetResultVerifySuccess();
                        t_success = true;
                    } break;
                    }

                    if (t_success == false)
                    {
                        this.item.SetResultErrorString(t_main.GetResultErrorString());
                    }

                    //完了。
                    t_main.Fix();

                    this.mode = Mode.End;
                }
                else if (this.item.IsCancel() == true)
                {
                    //キャンセル。
                    t_main.Cancel();
                }
            } break;
            }

            return(false);
        }