public static JsonWebKey CreateKey(KeyWrapAlgorithm algorithm, bool includePrivateParameters = false, IEnumerable <KeyOperation> keyOps = null) { switch (algorithm.ToString()) { case KeyWrapAlgorithm.A128KWValue: case KeyWrapAlgorithm.A192KWValue: case KeyWrapAlgorithm.A256KWValue: return(CreateAesKey(algorithm.GetKeySizeInBytes(), keyOps)); case KeyWrapAlgorithm.Rsa15Value: case KeyWrapAlgorithm.RsaOaepValue: case KeyWrapAlgorithm.RsaOaep256Value: return(CreateRsaKey(includePrivateParameters, keyOps)); default: throw new ArgumentException("Invalid Algorithm", nameof(algorithm)); } }