@Override
  public byte[] engineOpen(byte[] ciphertext, byte[] aad) throws GeneralSecurityException {
    checkIsRecipient();
    Preconditions.checkNotNull(ciphertext, "null ciphertext");
    try {
      return NativeCrypto.EVP_HPKE_CTX_open(ctx, ciphertext, aad);
    } catch (BadPaddingException e) {
      throw new HpkeDecryptException(e.getMessage());
    }
  }
Implementation of {@link HpkeSpi}.  Should not be used directly, but rather by one
of the subclasses of {@link HpkeContext}.
common/src/main/java/org/conscrypt/HpkeImpl.java