/** * @return a new {@link KeysetHandle} from a {@link Keyset} read with {@code reader}. * @throws GeneralSecurityException */ public static KeysetHandle read(KeysetReader reader) throws GeneralSecurityException, IOException { return KeysetHandle.fromKeyset(reader.read()); }
/** * Tries to create a {@link KeysetHandle} from an encrypted keyset obtained via {@code reader}. * * <p>Users that need to load cleartext keysets can use {@link CleartextKeysetHandle}. * * @return a new {@link KeysetHandle} from {@code encryptedKeysetProto} that was encrypted with * {@code masterKey} * @throws GeneralSecurityException if cannot decrypt the keyset or it doesn't contain encrypted * key material */ public static final KeysetHandle read(KeysetReader reader, Aead masterKey) throws GeneralSecurityException, IOException { EncryptedKeyset encryptedKeyset = reader.readEncrypted(); assertEnoughEncryptedKeyMaterial(encryptedKeyset); return new KeysetHandle(decrypt(encryptedKeyset, masterKey)); }
/** * @return a new keyset handle from a keyset obtained from {@code reader}. * @throws GeneralSecurityException */ public static final KeysetHandle read(KeysetReader reader) throws GeneralSecurityException, IOException { Keyset keyset = reader.read(); validate(keyset); return KeysetHandle.fromKeyset(keyset); }