/** * @return a PublicKeyVerify primitive from a {@code keysetHandle}. * @throws GeneralSecurityException */ public static PublicKeyVerify getPrimitive(KeysetHandle keysetHandle) throws GeneralSecurityException { return getPrimitive(keysetHandle, /* keyManager= */ null); }
final PrimitiveSet<PublicKeyVerify> primitives = Registry.getPrimitives(keysetHandle, keyManager); validate(primitives); return new PublicKeyVerify() { @Override
private boolean verify(KeysetHandle publicKeysetHandle, byte[] signature) { try { PublicKeyVerify verifier = PublicKeyVerifyFactory.getPrimitive(publicKeysetHandle); verifier.verify(signature, INITIAL_TEXT.getBytes()); return true; } catch (GeneralSecurityException ex) { log.error("Signature is invalid", ex); } return false; } }
static PublicKeyVerify createTestSenderVerifier() throws GeneralSecurityException, IOException { KeysetHandle verificationKeyHandle = CleartextKeysetHandle .read(BinaryKeysetReader.withBytes(TestUtils.getBytes("verification_key.dat"))); return PublicKeyVerifyFactory.getPrimitive(verificationKeyHandle); }