@SuppressWarnings("UnusedException")
  public static final KeysetHandle readNoSecret(KeysetReader reader)
      throws GeneralSecurityException, IOException {
    byte[] serializedKeyset;
    try {
      serializedKeyset = reader.read().toByteArray();
    } catch (InvalidProtocolBufferException e) {
      // Do not propagate InvalidProtocolBufferException to guarantee no key material is leaked
      throw new GeneralSecurityException("invalid keyset");
    }
    return readNoSecret(serializedKeyset);
  }
Tries to create a {@link KeysetHandle} from a keyset, obtained via {@code reader}, which
contains no secret key material.

<p>This can be used to load public keysets or envelope encryption keysets. Users that need to
load cleartext keysets can use {@link CleartextKeysetHandle}.

@return a new {@link KeysetHandle} from {@code serialized} that is a serialized {@link Keyset}
@throws GeneralSecurityException if the keyset is invalid
java_src/src/main/java/com/google/crypto/tink/KeysetHandle.java