@Override
  public void engineInitSenderForTesting(PublicKey recipientKey, byte[] info,
          PrivateKey senderKey, byte[] psk, byte[] psk_id, byte[] sKe) throws InvalidKeyException {
    checkNotInitialised();
    Objects.requireNonNull(sKe);
    checkArgumentsForBaseModeOnly(senderKey, psk, psk_id);
    if (recipientKey == null) {
      throw new InvalidKeyException("null recipient key");
    } else if (!(recipientKey instanceof OpenSSLX25519PublicKey)) {
      throw new InvalidKeyException("Unsupported recipient key class: " + recipientKey.getClass());
    }
    final byte[] recipientKeyBytes = ((OpenSSLX25519PublicKey) recipientKey).getU();

    final Object[] result = NativeCrypto.EVP_HPKE_CTX_setup_base_mode_sender_with_seed_for_testing(
            hpkeSuite, recipientKeyBytes, info, sKe);
    ctx = (NativeRef.EVP_HPKE_CTX) result[0];
    encapsulated = (byte[]) result[1];
  }
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