Skip to content

Commit a34056a

Browse files
committed
Throw AttestationClientException when protocol not valid
1 parent 9f806e6 commit a34056a

File tree

2 files changed

+18
-2
lines changed

2 files changed

+18
-2
lines changed

src/main/java/com/uid2/shared/secure/azurecc/MaaTokenPayload.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.uid2.shared.secure.azurecc;
22

3+
import com.uid2.shared.secure.AttestationClientException;
4+
import com.uid2.shared.secure.AttestationException;
5+
import com.uid2.shared.secure.AttestationFailure;
36
import lombok.Builder;
47
import lombok.Value;
58

@@ -26,12 +29,13 @@ public boolean isSevSnpVM(){
2629
return SEV_SNP_VM_TYPE.equalsIgnoreCase(attestationType);
2730
}
2831

29-
public boolean isUtilityVMCompliant(){
32+
public boolean isUtilityVMCompliant() throws AttestationClientException {
3033
if (azureProtocol == AZURE_CC_ACI_PROTOCOL) {
3134
return AZURE_COMPLIANT_UVM.equalsIgnoreCase(complianceStatus);
3235
} else if (azureProtocol == AZURE_CC_AKS_PROTOCOL) {
3336
return AZURE_COMPLIANT_UVM_AKS.equalsIgnoreCase(complianceStatus);
37+
} else {
38+
throw new AttestationClientException(String.format("Azure protocol: %s not supported", azureProtocol), AttestationFailure.INVALID_PROTOCOL);
3439
}
35-
return false;
3640
}
3741
}

src/test/java/com/uid2/shared/secure/azurecc/PolicyValidatorTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,4 +163,16 @@ public void testValidationFailure_AksWithOtherUvm() {
163163
assertEquals("Not run in Azure Compliance Utility VM", t.getMessage());
164164
assertEquals(AttestationFailure.BAD_FORMAT, ((AttestationClientException)t).getAttestationFailure());
165165
}
166+
167+
@Test
168+
public void testValidationFailure_InvalidProtocol() {
169+
var validator = new PolicyValidator(ATTESTATION_URL);
170+
var aksPayload = generateBasicPayload()
171+
.toBuilder()
172+
.azureProtocol("fake-protocol")
173+
.build();
174+
Throwable t = assertThrows(AttestationException.class, ()-> validator.validate(aksPayload, PUBLIC_KEY));
175+
assertEquals("Azure protocol: fake-protocol not supported", t.getMessage());
176+
assertEquals(AttestationFailure.INVALID_PROTOCOL, ((AttestationClientException)t).getAttestationFailure());
177+
}
166178
}

0 commit comments

Comments
 (0)