def HandleMsg(self,bufsize,session):
     "接受对方传来的dh参数及公钥并生成自己的dh公钥"
     recvmsg = NetSocketFun.NetSocketRecv(session.sockfd,bufsize)
     dhmsg = NetSocketFun.NetUnPackMsgBody(recvmsg)
     #参数p:公钥:签名
     self.verifyMsgSign(dhmsg[:2], dhmsg[2:], session)
     
 def HandleMsg(self,bufsize,fddata,th):
     if not fddata.GetData("currentbytes") and fddata.threadtype != CommonData.ThreadType.CONNECTAP:
         _cfg = ConfigData.ConfigData()
         _dir = _cfg.GetMediaPath() + "/auditserver/" 
         recvbuffer = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"),bufsize)
         fddata.SetData("control.filename",_dir + NetSocketFun.NetUnPackMsgBody(recvbuffer)[0])
     if not fddata.GetData("currentbytes"):
         self.handleFileBegin(bufsize, fddata)
     _filebuffer = fddata.GetData("file").read(CommonData.MsgHandlec.FILEBLOCKSIZE)
     fddata.SetData("currentbytes",fddata.GetData("currentbytes") + len(_filebuffer))
     msgbody = NetSocketFun.NetPackMsgBody([_filebuffer])
     if fddata.GetData("currentbytes") == fddata.totalbytes:
         msghead = self.packetMsg(MagicNum.MsgTypec.SENDFILEOVER,len(msgbody))
         fddata.GetData("file").close()
         fddata.SetData("currentbytes",0)
         
         _filename = fddata.GetData("filename")[-fddata.GetData("filename")[::-1].index("/"):].encode("utf-8")
         filesize = float(fddata.GetData("totalbytes")) / (1024 * 1024)
         showmsg = "文件发送完毕:\n(1)文件名:" + _filename + "\n(2)文件大小(MB):" + str(filesize)
         self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,showmsg,True)
     else:
         msghead = self.packetMsg(MagicNum.MsgTypec.SENDFILEBUFFER,len(msgbody))
     fddata.SetData("outdata", msghead + msgbody)
     th.ModifyInToOut(fddata.GetData("sockfd"))
     
 def HandleMsg(self, bufsize, fddata, th):
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     recvbuffer = NetSocketFun.NetUnPackMsgBody(recvmsg)[0]
     from CryptoAlgorithms import RsaKeyExchange
     _rke = RsaKeyExchange.RsaKeyExchange()
     _rke.WritePubkeyStr("auditserver", recvbuffer)
     wx.CallAfter(Publisher().sendMessage,
                  CommonData.ViewPublisherc.REGISTER_SWITCH,
                  MagicNum.CPUserTablec.UNACCEPT)
Beispiel #4
0
 def HandleMsg(self, bufsize, session):
     if not session.currentbytes:
         self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                          "开始接收文件(" + session.filename + ") ...")
     recvmsg = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
     recvbuffer = NetSocketFun.NetUnPackMsgBody(recvmsg)[0]
     session.currentbytes += len(recvbuffer)
     session.file.write(recvbuffer)
     msghead = self.packetMsg(MagicNum.MsgTypec.REQFILEBUFFER, 0)
     NetSocketFun.NetSocketSend(session.sockfd, msghead)
 def HandleMsg(self, bufsize, fddata, th):
     if not fddata.GetData("currentbytes"):
         self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                          "开始接收文件(" + fddata.GetData("filename") + ")")
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     recvbuffer = NetSocketFun.NetUnPackMsgBody(recvmsg)[0]
     fddata.SetData("currentbytes",
                    fddata.GetData("currentbytes") + len(recvbuffer))
     fddata.GetData("file").write(recvbuffer)
     msghead = self.packetMsg(MagicNum.MsgTypec.REQFILEBUFFER, 0)
     fddata.SetData("outdata", msghead)
     th.ModifyInToOut(fddata.GetData("sockfd"))
    def HandleMsg(self, bufsize, fddata, th):
        "接收文件名,保存文件名"
        recvbuffer = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"),
                                                bufsize)
        fddata.SetData("threadtype", CommonData.ThreadType.ACCETPNO)
        msglist = NetSocketFun.NetUnPackMsgBody(recvbuffer.encode("utf-8"))
        fddata.SetData("filename",
                       self.__mediapath + "/auditserver/" + msglist[0])
        showmsg = "开始为 " + msglist[1] + " 分发文件(" + msglist[0] + ")"
        fddata.SetData("peername", msglist[1])
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                         showmsg.encode("utf-8"), True)

        import SendDhPAndPubkey
        _sdh = SendDhPAndPubkey.SendDhPAndPubkey()
        _sdh.HandleMsg(0, fddata)
    def HandleMsg(self, bufsize, session):
        "接收文件名,保存文件名"
        recvbuffer = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
        session.threadtype = CommonData.ThreadType.ACCETPNO
        msglist = NetSocketFun.NetUnPackMsgBody(recvbuffer.encode("utf-8"))
        session.filename = self.__mediapath + "/auditserver/" + msglist[0]
        showmsg = "开始为 " + msglist[1] + " 分发文件(" + msglist[0] + ")"
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_REFRESHSTATIC,
                         [msglist[0], "正在分发文件"])
        session.peername = msglist[1]
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                         showmsg.encode("utf-8"), True)

        import SendDhPAndPubkey
        _sdh = SendDhPAndPubkey.SendDhPAndPubkey()
        _sdh.HandleMsg(0, session)
Beispiel #8
0
 def run(self):
     "接受消息头之后,得到消息类型,然后选择具体的处理类来处理该消息"
     _MsgHandleMap = MsgHandleMap.MsgHandleMap()
     while self.runflag:
         recvbuffer = NetSocketFun.NetSocketRecv(
             self.sockfd,
             struct.calcsize(CommonData.MsgHandlec.MSGHEADTYPE))
         if len(recvbuffer) == 0 or (len(recvbuffer) != struct.calcsize(
                 CommonData.MsgHandlec.MSGHEADTYPE)):
             break
         recvmsghead = struct.unpack(CommonData.MsgHandlec.MSGHEADTYPE,
                                     recvbuffer)
         _MsgHandleMap.getMsgHandle(recvmsghead[0]).HandleMsg(
             recvmsghead[1], self)
     #跳出循环,线程结束,关闭socke
     self.sockfd.close()
    def HandleMsg(self, bufsize, session):
        recvmsg = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
        recvbuffer = NetSocketFun.NetUnPackMsgBody(recvmsg)[0]
        session.file.write(recvbuffer)
        session.file.close()
        if session.threadtype == CommonData.ThreadType.ACCETPNO:
            msghead = self.packetMsg(MagicNum.MsgTypec.REQAGROUP, 0)
        elif session.threadtype == CommonData.ThreadType.ACCEPTAP:
            msghead = self.packetMsg(MagicNum.MsgTypec.REQCGROUP, 0)

        filesize = float((session.currentbytes + bufsize)) / (1024 * 1024)
        showmsg = "文件接收完毕:\n(1)文件名:" + session.filename + "\n(2)文件大小(MB):" + str(
            filesize)
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                         showmsg, True)
        NetSocketFun.NetSocketSend(session.sockfd, msghead)
        session.currentbytes = 0
    def HandleMsg(self, bufsize, session):
        recvbuffer = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
        _msglist = NetSocketFun.NetUnPackMsgBody(recvbuffer)
        if self.handleDhkeyAndCgroupParam(_msglist, session) == True:
            #            try:
            self.getBgroupSignAndParam(session)

            showmsg = "解密获取参数及特征提取结果:\n(1)B组参数:\n(帧总数,分组参数,帧间隔位数,混沌初值,分支参数)\n(" + \
                  ",".join(NetSocketFun.NetUnPackMsgBody(self.__bparam)) + ")\n(2)B组特征提取签名:" + _msglist[1]
            showmsg += "\n(3)C组参数:\n(帧总数,分组参数,帧间隔位数,混沌初值,分支参数)\n(" + \
                  ",".join(self.__cparam) + ")\n(4)C组特征提取签名:" + self.__csign
            self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                             showmsg, True)
            #            except Exception ,e:
            #                print e
            #                import wx
            #                wx.MessageBox("该文件不存在","错误",wx.ICON_ERROR|wx.YES_DEFAULT)
            #                return
            if self.verifySign(session) == True:
                #                showmsg = "收到特征提取结果:\n(1)B组参数:" + ",".join(self.__bparam.split(CommonData.MsgHandlec.PADDING)) + "\n(2)B组特征提取签名:" + _msglist[1]
                #                showmsg += "\n(3)C组参数:" + ",".join(self.__cparam) + "\n(4)C组特征提取签名:" + self.__csign + "\n审核返回成功"
                #                self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,showmsg,True)
                showmsg = "审核返回成功"
                self.sendViewMsg(
                    CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT, showmsg,
                    True)
                msghead = self.packetMsg(MagicNum.MsgTypec.AUDITRETURNSUCCESS,
                                         0)
                NetSocketFun.NetSocketSend(session.sockfd, msghead)

                _db = MediaTable.MediaTable()
                _db.Connect()
                _db.AlterMedia("status", MagicNum.MediaTablec.AUDIT,
                               session.filename)
                _db.CloseCon()
                self.sendViewMsg(
                    CommonData.ViewPublisherc.MAINFRAME_REFRESHFILETABLE, "")
                self.sendViewMsg(
                    CommonData.ViewPublisherc.MAINFRAME_REFRESHSTATIC,
                    [session.filename, "审核返回成功"])
                return
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_REFRESHSTATIC,
                         [session.filename, "审核返回失败"])
        msghead = self.packetMsg(MagicNum.MsgTypec.IDENTITYVERIFYFAILED, 0)
        NetSocketFun.NetSocketSend(session.sockfd, msghead)
Beispiel #11
0
 def HandleMsg(self, bufsize, session):
     "返回登录结果,并保存用户名"
     recvmsg = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
     _loginmsg = NetSocketFun.NetUnPackMsgBody(eval(recvmsg))[0]
     _res = self.verifyUser(_loginmsg[0], _loginmsg[1])
     if _res != False:
         msgbody = NetSocketFun.NetPackMsgBody([str(_res)])
         msghead = self.packetMsg(MagicNum.MsgTypec.LOGINSUCCESS,
                                  len(msgbody))
         NetSocketFun.NetSocketSend(session.sockfd, msghead + msgbody)
         session.peername = _loginmsg[0]
         showmsg = session.peername + "登录成功"
     else:
         msghead = self.packetMsg(MagicNum.MsgTypec.LOGINFAIL, 0)
         NetSocketFun.NetSocketSend(session.sockfd, msghead)
         showmsg = session.peername + "登录失败"
     self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                      showmsg, True)
Beispiel #12
0
 def HandleMsg(self,bufsize,session):
     "接收文件名,并打开文件准备写"
     recvbuffer = NetSocketFun.NetSocketRecv(session.sockfd,bufsize)
     self.createMediaDir(session)
     session.filename = NetSocketFun.NetUnPackMsgBody(recvbuffer)[0]
     session.filename = session.filename.encode("utf-8")
     session.threadtype = CommonData.ThreadType.ACCEPTAP
     
     _localfilename = self.___ownPath + "/" + session.filename
     session.file = open(_localfilename,"w")
     session.currentbytes = 0
 
     showmsg = "开始审核返回文件(" + session.filename + ")"
     self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,showmsg,True)
     self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_REFRESHSTATIC,[session.filename,"接受审核返回"])
     
     import SendDhPAndPubkey
     _sdh = SendDhPAndPubkey.SendDhPAndPubkey()
     _sdh.HandleMsg(0, session)
     
 def HandleMsg(self, bufsize, fddata, th):
     "返回登录结果,并保存用户名"
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     _loginmsg = NetSocketFun.NetUnPackMsgBody(eval(recvmsg))[0]
     _res = self.verifyUser(_loginmsg[0], _loginmsg[1])
     if _res != False:
         msgbody = NetSocketFun.NetPackMsgBody([str(_res)])
         msghead = self.packetMsg(MagicNum.MsgTypec.LOGINSUCCESS,
                                  len(msgbody))
         fddata.SetData("outdata", msghead + msgbody)
         th.ModifyInToOut(fddata.GetData("sockfd"))
         fddata.SetData("peername", _loginmsg[0])
         showmsg = fddata.GetData("peername") + "登录成功"
     else:
         msghead = self.packetMsg(MagicNum.MsgTypec.LOGINFAIL, 0)
         fddata.SetData("outdata", msghead)
         th.ModifyInToOut(fddata.GetData("sockfd"))
         showmsg = fddata.GetData("peername") + "登录失败"
     self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                      showmsg, True)
    def HandleMsg(self, bufsize, fddata, th):
        "接收文件名,并打开文件准备写"
        recvbuffer = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"),
                                                bufsize)
        self.createMediaDir(fddata)
        fddata.SetData("filename",
                       NetSocketFun.NetUnPackMsgBody(recvbuffer)[0])
        fddata.SetData("filename", fddata.GetData("filename").encode("utf-8"))
        fddata.SetData("threadtype", CommonData.ThreadType.ACCEPTAP)

        _localfilename = self.___ownPath + "/" + fddata.GetData("filename")
        fddata.file = open(_localfilename, "w")
        fddata.SetData("currentbytes", 0)

        showmsg = "开始审核返回文件(" + fddata.GetData("filename") + ")"
        self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,
                         showmsg, True)

        import SendDhPAndPubkey
        _sdh = SendDhPAndPubkey.SendDhPAndPubkey()
        _sdh.HandleMsg(0, fddata, th)
 def HandleMsg(self, bufsize, session):
     "返回注册信息并保存用户名"
     recvmsg = NetSocketFun.NetSocketRecv(session.sockfd, bufsize)
     _loginmsg = NetSocketFun.NetUnPackMsgBody(recvmsg) + [
         MagicNum.CPUserTablec.UNACCEPT
     ]
     if self.verifyUser(_loginmsg[0]) == False:
         restype = MagicNum.MsgTypec.REGISTERFAIL
         msghead = self.packetMsg(restype, 0)
         NetSocketFun.NetSocketSend(session.sockfd, msghead)
     else:
         restype = MagicNum.MsgTypec.REGISTERSUCCESSMSG
         self.addNewCPUser(_loginmsg[:-2] + _loginmsg[-1:])
         session.name = _loginmsg[0]
         from CryptoAlgorithms import RsaKeyExchange
         _rke = RsaKeyExchange.RsaKeyExchange()
         _rke.WritePubkeyStr(session.name, _loginmsg[-2])
         msgbody = NetSocketFun.NetPackMsgBody([_rke.GetPubkeyStr("own")])
         msghead = self.packetMsg(restype, len(msgbody))
         NetSocketFun.NetSocketSend(
             session.sockfd,
             msghead + msgbody.decode('gbk').encode("utf-8"))
Beispiel #16
0
 def HandleMsg(self, bufsize, fddata, th):
     "返回注册信息并保存用户名"
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     _loginmsg = NetSocketFun.NetUnPackMsgBody(recvmsg) + [
         MagicNum.CPUserTablec.UNACCEPT
     ]
     if self.verifyUser(_loginmsg[0]) == False:
         restype = MagicNum.MsgTypec.REGISTERFAIL
         msghead = self.packetMsg(restype, 0)
         fddata.SetData("outdata", msghead)
         th.ModifyInToOut(fddata.GetData("sockfd"))
     else:
         restype = MagicNum.MsgTypec.REGISTERSUCCESSMSG
         self.addNewCPUser(_loginmsg[:-2] + _loginmsg[-1:])
         fddata.SetData("peername", _loginmsg[0])
         from CryptoAlgorithms import RsaKeyExchange
         _rke = RsaKeyExchange.RsaKeyExchange()
         _rke.WritePubkeyStr(fddata.GetData("name"), _loginmsg[-2])
         msgbody = NetSocketFun.NetPackMsgBody([_rke.GetPubkeyStr("own")])
         msghead = self.packetMsg(restype, len(msgbody))
         fddata.SetData("outdata",
                        msghead + msgbody.decode('gbk').encode("utf-8"))
         th.ModifyInToOut(fddata.GetData("sockfd"))
Beispiel #17
0
    def HandleMsg(self, bufsize, fddata, th):
        recvbuffer = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"),
                                                bufsize)
        _msglist = NetSocketFun.NetUnPackMsgBody(recvbuffer)
        if self.handleDhkeyAndCgroupParam(_msglist, fddata) == True:
            try:
                self.getBgroupSignAndParam(fddata)
            except:
                import wx
                wx.MessageBox("该文件不存在", "错误", wx.ICON_ERROR | wx.YES_DEFAULT)
                return
            if self.verifySign(fddata) == True:
                showmsg = "收到采样结果:\n(1)B组参数:" + ",".join(
                    self.__bparam.split(CommonData.MsgHandlec.PADDING)
                ) + "\n(2)B组采样签名:" + _msglist[1]
                showmsg += "\n(3)C组参数:" + ",".join(
                    self.__cparam) + "\n(4)C组采样签名:" + self.__csign + "\n审核返回成功"
                self.sendViewMsg(
                    CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT, showmsg,
                    True)
                msghead = self.packetMsg(MagicNum.MsgTypec.AUDITRETURNSUCCESS,
                                         0)
                fddata.SetData("outdata", msghead)
                th.ModifyInToOut(fddata.GetData("sockfd"))

                _db = MediaTable.MediaTable()
                _db.Connect()
                _db.AlterMedia("status", MagicNum.MediaTablec.AUDIT,
                               fddata.GetData("filename"))
                _db.CloseCon()
                self.sendViewMsg(
                    CommonData.ViewPublisherc.MAINFRAME_REFRESHFILETABLE, "")
                return

        msghead = self.packetMsg(MagicNum.MsgTypec.IDENTITYVERIFYFAILED, 0)
        fddata.SetData("outdata", msghead)
        th.ModifyInToOut(fddata.GetData("sockfd"))
 def HandleMsg(self,bufsize,session):
     if not session.currentbytes and session.threadtype != CommonData.ThreadType.CONNECTAP:
         _cfg = ConfigData.ConfigData()
         _dir = _cfg.GetMediaPath() + "/auditserver/" 
         recvbuffer = NetSocketFun.NetSocketRecv(session.sockfd,bufsize)
         session.control.filename = _dir + NetSocketFun.NetUnPackMsgBody(recvbuffer)[0]
     if not session.currentbytes:
         self.handleFileBegin(bufsize, session)
     _filebuffer = session.file.read(CommonData.MsgHandlec.FILEBLOCKSIZE)
     session.currentbytes += len(_filebuffer)
     msgbody = NetSocketFun.NetPackMsgBody([_filebuffer])
     if session.currentbytes == session.totalbytes:
         msghead = self.packetMsg(MagicNum.MsgTypec.SENDFILEOVER,len(msgbody))
         session.file.close()
         session.currentbytes = 0
         
         _filename = session.filename[-session.filename[::-1].index("/"):].encode("utf-8")
         filesize = float(session.totalbytes) / (1024 * 1024)
         showmsg = "文件发送完毕:\n(1)文件名:" + _filename + "\n(2)文件大小(MB):" + str(filesize)
         self.sendViewMsg(CommonData.ViewPublisherc.MAINFRAME_APPENDTEXT,showmsg,True)
     else:
         msghead = self.packetMsg(MagicNum.MsgTypec.SENDFILEBUFFER,len(msgbody))
     NetSocketFun.NetSocketSend(session.sockfd, msghead + msgbody)
     
Beispiel #19
0
 def HandleMsg(self, bufsize, fddata, th):
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     recvlist = NetSocketFun.NetUnPackMsgBody(recvmsg)
     wx.CallAfter(Publisher().sendMessage,
                  CommonData.ViewPublisherc.LOGIN_SWITCH, recvlist)
 def HandleMsg(self, bufsize, fddata, th):
     "接受对方传来的dh参数及公钥并生成自己的dh公钥"
     recvmsg = NetSocketFun.NetSocketRecv(fddata.GetData("sockfd"), bufsize)
     dhmsg = NetSocketFun.NetUnPackMsgBody(recvmsg)
     #参数p:公钥:签名
     self.verifyMsgSign(dhmsg[0], dhmsg[1], fddata, th)