diff --git a/pom.xml b/pom.xml index ef4a463..56f55c6 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ com.uid2 attestation-gcp - 1.4.2-dd1920710d + 1.4.15-SNAPSHOT ${project.groupId}:${project.artifactId} UID 2.0 operator GCP attestation @@ -35,12 +35,21 @@ https://github.com/IABTechLab/uid2-attestation-gcp - - - ossrh - https://s01.oss.sonatype.org/content/repositories/snapshots - - + + + snapshots-repo + https://s01.oss.sonatype.org/content/repositories/snapshots + false + true + + + + + ossrh + https://s01.oss.sonatype.org/content/repositories/snapshots + + + @@ -58,7 +67,7 @@ com.uid2 uid2-attestation-api - 1.5.0-676519b018 + 2.0.0-f968aec0e3 junit diff --git a/src/main/java/com/uid2/attestation/gcp/OidcAttestationProvider.java b/src/main/java/com/uid2/attestation/gcp/OidcAttestationProvider.java index b93a471..2476209 100644 --- a/src/main/java/com/uid2/attestation/gcp/OidcAttestationProvider.java +++ b/src/main/java/com/uid2/attestation/gcp/OidcAttestationProvider.java @@ -63,7 +63,7 @@ public boolean isReady() { } @Override - public byte[] getAttestationRequest(@SuppressWarnings("unused") byte[] publicKey) throws AttestationException { + public byte[] getAttestationRequest(@SuppressWarnings("unused") byte[] publicKey, byte[] userData) throws AttestationException { String token = null; try { token = new String(Files.readAllBytes(Paths.get(tokenFilePath))); diff --git a/src/main/java/com/uid2/attestation/gcp/VmidAttestationProvider.java b/src/main/java/com/uid2/attestation/gcp/VmidAttestationProvider.java index 3734a65..0109a67 100644 --- a/src/main/java/com/uid2/attestation/gcp/VmidAttestationProvider.java +++ b/src/main/java/com/uid2/attestation/gcp/VmidAttestationProvider.java @@ -17,7 +17,7 @@ public class VmidAttestationProvider implements IAttestationProvider { private String metadataEndpoint = "http://metadata/computeMetadata/v1/instance/service-accounts/default/identity"; @Override - public byte[] getAttestationRequest(byte[] publicKey) throws AttestationException { + public byte[] getAttestationRequest(byte[] publicKey, byte[] userData) throws AttestationException { // encode publicKey into base64 string and pass as audience String audience = Base64.getEncoder().encodeToString(publicKey); diff --git a/src/test/java/com/uid2/attestation/gcp/OidcAttestationProviderTest.java b/src/test/java/com/uid2/attestation/gcp/OidcAttestationProviderTest.java index 9e28f1c..0f8339f 100644 --- a/src/test/java/com/uid2/attestation/gcp/OidcAttestationProviderTest.java +++ b/src/test/java/com/uid2/attestation/gcp/OidcAttestationProviderTest.java @@ -11,7 +11,9 @@ import java.time.Instant; public class OidcAttestationProviderTest { - + private final byte[] publicKey = new byte[] { 0x01, 0x02, 0x03 }; + private final byte[] userData = new byte[] {0x04, 0x05}; + private String getResourcePath(String name) { try { return Paths.get(OidcAttestationProviderTest.class.getResource(name).toURI()).toFile().getAbsolutePath(); @@ -47,7 +49,7 @@ public void testIsReadyFailure_FileNotExist() { @Test public void testLoadTokenFileSuccess() throws AttestationException { final OidcAttestationProvider provider = new OidcAttestationProvider(getResourcePath("/com.uid2.attestation.gcp/test/OidcToken.txt")); - byte[] output = provider.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 }); + byte[] output = provider.getAttestationRequest(publicKey, userData); String outputString = new String(output, StandardCharsets.US_ASCII); Assert.assertEquals("oidc.token", outputString); } @@ -55,15 +57,15 @@ public void testLoadTokenFileSuccess() throws AttestationException { @Test public void testLoadTokenFileFailure_FileNotExist() { final OidcAttestationProvider provider = new OidcAttestationProvider("/com.uid2.attestation.gcp/test/OidcToken_non_exist"); - Assert.assertThrows(AttestationException.class, ()-> provider.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 })); + Assert.assertThrows(AttestationException.class, ()-> provider.getAttestationRequest(publicKey, userData)); final OidcAttestationProvider providerDefaultPath = new OidcAttestationProvider(); - Assert.assertThrows(AttestationException.class, ()-> providerDefaultPath.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 })); + Assert.assertThrows(AttestationException.class, ()-> providerDefaultPath.getAttestationRequest(publicKey, userData)); } @Test public void testLoadTokenFileFailure_Empty() { final OidcAttestationProvider provider = new OidcAttestationProvider(getResourcePath("/com.uid2.attestation.gcp/test/OidcTokenEmpty.txt")); - Assert.assertThrows(AttestationException.class, ()-> provider.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 })); + Assert.assertThrows(AttestationException.class, ()-> provider.getAttestationRequest(publicKey, userData)); } } diff --git a/src/test/java/com/uid2/attestation/gcp/VmidAttestationProviderTest.java b/src/test/java/com/uid2/attestation/gcp/VmidAttestationProviderTest.java index 2443bcb..3d72270 100644 --- a/src/test/java/com/uid2/attestation/gcp/VmidAttestationProviderTest.java +++ b/src/test/java/com/uid2/attestation/gcp/VmidAttestationProviderTest.java @@ -11,7 +11,7 @@ public class VmidAttestationProviderTest { public void testAgainstDebugHttpServer() throws AttestationException { final VmidAttestationProvider provider = new VmidAttestationProvider(); provider.setMetadataEndpoint("https://httpbin.org/get"); - byte[] output = provider.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 }); + byte[] output = provider.getAttestationRequest(new byte[] { 0x01, 0x02, 0x03 }, new byte[] {0x04, 0x05}); String outputString = new String(output, StandardCharsets.US_ASCII); System.out.println(outputString);