示例#1
0
文件: authority.py 项目: ha-D/netsec
    def generateSessionKey(self, cert):
        if cert in self.sessionKeys:
            raise AuthorityError("Duplicate Certificate, session key for certificate already exists")
        
        # Generate and store session key
        keyFactory = SessionKeyFactory()
        key = keyFactory.createAESKey()
        self.sessionKeys[cert.as_pem()] = key

        return key
示例#2
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)