def createKmsRequest(): # Update the call ID clt_config['call_id'] += 1 # KMS Protocol Major Version if clt_config['KMSProtocolMajorVersion'] == 4: handler = kmsRequestV4(None, clt_config) elif clt_config['KMSProtocolMajorVersion'] == 5: handler = kmsRequestV5(None, clt_config) elif clt_config['KMSProtocolMajorVersion'] == 6: handler = kmsRequestV6(None, clt_config) else: return None requestBase = createKmsRequestBase() return handler.generateRequest(requestBase)
def generateKmsResponseData(data, srv_config): version = kmsBase.GenericRequestHeader(data)['versionMajor'] currentDate = time.strftime("%a %b %d %H:%M:%S %Y") if version == 4: loggersrv.info("Received V%d request on %s." % (version, currentDate)) messagehandler = pykms_RequestV4.kmsRequestV4(data, srv_config) elif version == 5: loggersrv.info("Received V%d request on %s." % (version, currentDate)) messagehandler = pykms_RequestV5.kmsRequestV5(data, srv_config) elif version == 6: loggersrv.info("Received V%d request on %s." % (version, currentDate)) messagehandler = pykms_RequestV6.kmsRequestV6(data, srv_config) else: loggersrv.info("Unhandled KMS version V%d." % version) messagehandler = pykms_RequestUnknown.kmsRequestUnknown(data, srv_config) return messagehandler.executeRequestLogic()
def readKmsResponseV5(data): response = kmsRequestV5.ResponseV5(data) decrypted = kmsRequestV5(data, clt_config).decryptResponse(response) return decrypted