From 9ac737567160941b7fbeeaa3912ad6cd14456a41 Mon Sep 17 00:00:00 2001 From: Morgan Kleene Date: Tue, 23 Jul 2024 22:56:19 +0200 Subject: [PATCH] missed the point --- sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java | 2 +- sdk/src/main/java/io/opentdf/platform/sdk/TDF.java | 7 ++++--- .../test/java/io/opentdf/platform/sdk/ManifestTest.java | 6 ++++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java b/sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java index 208c7542..276d9cca 100644 --- a/sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java +++ b/sdk/src/main/java/io/opentdf/platform/sdk/Manifest.java @@ -37,7 +37,7 @@ static public class KeyAccess { public String url; public String protocol; public String wrappedKey; - public PolicyBinding policyBinding; + public Object policyBinding; public String encryptedMetadata; public String kid; } diff --git a/sdk/src/main/java/io/opentdf/platform/sdk/TDF.java b/sdk/src/main/java/io/opentdf/platform/sdk/TDF.java index b4b2c6d9..e038a474 100644 --- a/sdk/src/main/java/io/opentdf/platform/sdk/TDF.java +++ b/sdk/src/main/java/io/opentdf/platform/sdk/TDF.java @@ -216,9 +216,10 @@ private void prepareManifest(Config.TDFConfig tdfConfig) { // Add policyBinding var hexBinding = Hex.encodeHexString(CryptoUtils.CalculateSHA256Hmac(symKey, base64PolicyObject.getBytes(StandardCharsets.UTF_8))); - keyAccess.policyBinding = new Manifest.PolicyBinding(); - keyAccess.policyBinding.alg = kHmacIntegrityAlgorithm; - keyAccess.policyBinding.hash = encoder.encodeToString(hexBinding.getBytes(StandardCharsets.UTF_8));; + var policyBinding = new Manifest.PolicyBinding(); + policyBinding.alg = kHmacIntegrityAlgorithm; + policyBinding.hash = encoder.encodeToString(hexBinding.getBytes(StandardCharsets.UTF_8));; + keyAccess.policyBinding = policyBinding; // Wrap the key with kas public key AsymEncryption asymmetricEncrypt = new AsymEncryption(kasInfo.PublicKey); diff --git a/sdk/src/test/java/io/opentdf/platform/sdk/ManifestTest.java b/sdk/src/test/java/io/opentdf/platform/sdk/ManifestTest.java index 6d2b4785..91ce2477 100644 --- a/sdk/src/test/java/io/opentdf/platform/sdk/ManifestTest.java +++ b/sdk/src/test/java/io/opentdf/platform/sdk/ManifestTest.java @@ -73,8 +73,10 @@ void testManifestMarshalAndUnMarshal() { List keyAccess = manifest.encryptionInformation.keyAccessObj; assertEquals(keyAccess.get(0).keyType, "wrapped"); assertEquals(keyAccess.get(0).protocol, "kas"); - assertEquals(keyAccess.get(0).policyBinding.alg, "HS256"); - assertEquals(keyAccess.get(0).policyBinding.hash, "YTgzNThhNzc5NWRhMjdjYThlYjk4ZmNmODliNzc2Y2E5ZmZiZDExZDQ3OTM5ODFjZTRjNmE3MmVjOTUzZTFlMA=="); + assertEquals(keyAccess.get(0).policyBinding.getClass(), Manifest.PolicyBinding.class); + var policyBinding = (Manifest.PolicyBinding)keyAccess.get(0).policyBinding; + assertEquals(policyBinding.alg, "HS256"); + assertEquals(policyBinding.hash, "YTgzNThhNzc5NWRhMjdjYThlYjk4ZmNmODliNzc2Y2E5ZmZiZDExZDQ3OTM5ODFjZTRjNmE3MmVjOTUzZTFlMA=="); assertEquals(manifest.encryptionInformation.method.algorithm, "AES-256-GCM"); assertEquals(manifest.encryptionInformation.integrityInformation.rootSignature.algorithm, "HS256"); assertEquals(manifest.encryptionInformation.integrityInformation.segmentHashAlg, "GMAC");