示例#1
0
文件: collector.py 项目: ha-D/netsec
 def sendResults(self, voteCount, index, vote):
     message = SecureMessage()
     message.action = 'announce-results'
     message['vote-count'] = voteCount
     message['your-vote'] = {
         'index': index,
         'vote': vote
     }
     message.sign()
     self.sendMessage(message)
示例#2
0
文件: client.py 项目: ha-D/netsec
    def _sendVote(self):
        encVote = self.factory.sessionKey.encrypt(self.factory.vote)

        logger.debug("Encrypting vote with session key:")
        logger.debug(encVote, False)
        logger.verbose("Sending encrypted vote to collector...")

        message = SecureMessage()
        message.action = "vote"
        message['vote'] = encVote
        message.sign()
        self.sendMessage(message)
示例#3
0
文件: client.py 项目: ha-D/netsec
    def _sendCert(self):
        message = SecureMessage()
        message.action = 'get-session-key'
        message['certificate'] = self.factory.cert


        message.sign()
        
        #authKey = app.keyManager.findKey('authority')
        #message.encrypt(authKey)

        logger.debug("Sending certficate to authority")
        self.sendMessage(message)
示例#4
0
文件: collector.py 项目: ha-D/netsec
    def messageReceived(self, message):
        logger.debug("Message received from client")
        try:
            vote = message['vote']
            index = self.factory.receivedVote(self, vote)

            reply = SecureMessage()
            reply.action = 'set-index'
            reply['index'] = index
            reply.sign()

            logger.debug("Sending index to client")
            self.sendMessage(reply)
        except KeyError as e:
            return self.factory.fail("Malformed message received from client. No '%s' field" % e)
示例#5
0
文件: client.py 项目: ha-D/netsec
    def sendIndex(self, index, sessionKey):
        message = SecureMessage()
        message.action = "set-index"

        pair = {
            'certificate': self.factory.cert,
            'index': index
        }

        pairString = json.dumps(pair)
        encPair = sessionKey.encrypt(pairString)

        message['certificate'] =  self.factory.cert
        message['pair'] = encPair

        logger.verbose("Sending certificate/index pair to Authority")
        self.sendMessage(message.sign())
        self.transport.loseConnection()
示例#6
0
文件: collector.py 项目: ha-D/netsec
    def _sendRequest(self):
        message = SecureMessage()

        sessionKeyFactory = SessionKeyFactory()
        sessionKey = sessionKeyFactory.createAESKey()
        self.factory.collectorNode.authKey = sessionKey

        logger.debug("Created session key for Authority connection:")
        logger.debug(sessionKey.hex(), False)

        authKey = app.keyManager.findKey("authority")
        encryptedKey = authKey.publicEncrypt(sessionKey.hex())
    
        message.action = "request-table"
        message['encrypted-session-key'] = encryptedKey
        message.sign()

        self.sendMessage(message)