public GetLicenseKeysForProductResult GetLicenseKeysForLicenseSet(string url, string token, EncryptionInfo encryptionInfo, KeyPair serviceKeys, GetLicenseKeysForProductData data) { ProductsServiceClient client = ProductClientCreator(url); string encryptedToken = _symmetricEncryptionProvider.Encrypt(token, encryptionInfo); string serializedPayload = _objectSerializationProvider.Serialize(data); string encryptedData = _asymmetricEncryptionProvider.EncryptPrivate(serializedPayload, serviceKeys); string encryptedResult = client.GetLicenseKeysForProduct(encryptedToken, encryptedData); string decryptedResult = _asymmetricEncryptionProvider.DecryptPublic(encryptedResult, serviceKeys); GetLicenseKeysForProductResult result = _objectSerializationProvider.Deserialize <GetLicenseKeysForProductResult>(decryptedResult); return(result); }