INNER CODE UNIT · Java
i
GrapheneOS/AttestationServer · src/main/java/app/attestation/server/AttestationProtocol.java:739
final int i = certChain.length - 1;
try {
certChain[i].verify(certChain[i].getPublicKey());
} catch (CertificateException e) {
throw new GeneralSecurityException(
"Root cert " + certChain[i] + " is not correctly self-signed", e);
}
}
private static String formatPatchLevel(final int patchLevel) {
final String s = Integer.toString(patchLevel);
return s.substring(0, 4) + "-" + s.substring(4, 6) +
(s.length() >= 8 ? "-" + s.substring(6, 8) : "");
}
private static void verifySignature(final PublicKey key, final ByteBuffer message,
final byte[] signature) throws GeneralSecurityException {
final Signature sig = Signature.getInstance(SIGNATURE_ALGORITHM);