getKeyStore = (secret, forEncryption) => {
  let current;
  const secrets = Array.isArray(secret) ? secret : [secret];
  let keystore = new JWKS.KeyStore();
  secrets.forEach((secretString, i) => {
    const key = JWK.asKey(
      forEncryption ? encryption(secretString) : signing(secretString)
    );
    if (i === 0) {
      current = key;
    }
    keystore.add(key);
  });
  return [current, keystore];
}
Derives appropriate sized keys from the end-user provided secret random string/passphrase using
HKDF (HMAC-based Extract-and-Expand Key Derivation Function) defined in RFC 8569.

@see https://tools.ietf.org/html/rfc5869