Skip to content

Commit 0df63d2

Browse files
committed
more precise detection of key description
1 parent 9058d37 commit 0df63d2

2 files changed

Lines changed: 9 additions & 3 deletions

File tree

src/main/java/app/attestation/server/AttestationProtocol.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,12 +1235,12 @@ private static Verified verifyStateless(final Certificate[] certificates,
12351235
}
12361236

12371237
attestKey = true;
1238-
} catch (final CertificateParsingException e) {}
1238+
} catch (final Attestation.KeyDescriptionMissingException e) {}
12391239

12401240
for (int i = 2; i < certificates.length; i++) {
12411241
try {
12421242
new Attestation((X509Certificate) certificates[i]);
1243-
} catch (final CertificateParsingException e) {
1243+
} catch (final Attestation.KeyDescriptionMissingException e) {
12441244
continue;
12451245
}
12461246
throw new GeneralSecurityException("only initial key and attest key should have attestation extension");

src/main/java/app/attestation/server/attestation/Attestation.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,11 +174,17 @@ public String toString() {
174174
return s.toString();
175175
}
176176

177+
public class KeyDescriptionMissingException extends CertificateParsingException {
178+
private KeyDescriptionMissingException(final String message) {
179+
super(message);
180+
}
181+
}
182+
177183
private ASN1Sequence getAttestationSequence(X509Certificate x509Cert)
178184
throws CertificateParsingException {
179185
byte[] attestationExtensionBytes = x509Cert.getExtensionValue(KEY_DESCRIPTION_OID);
180186
if (attestationExtensionBytes == null || attestationExtensionBytes.length == 0) {
181-
throw new CertificateParsingException(
187+
throw new KeyDescriptionMissingException(
182188
"Did not find extension with OID " + KEY_DESCRIPTION_OID);
183189
}
184190
return Asn1Utils.getAsn1SequenceFromBytes(attestationExtensionBytes);

0 commit comments

Comments
 (0)