/// <summary> /// Initializes a new instance of the <see cref="KeyWrapper"/> class. /// </summary> /// <param name="key"></param> /// <param name="encryptionAlgorithm"></param> /// <param name="algorithm"></param> protected KeyWrapper(Jwk key, EncryptionAlgorithm encryptionAlgorithm, KeyManagementAlgorithm algorithm) { if (key is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.key); } if (!key.SupportKeyManagement(algorithm)) { ThrowHelper.ThrowNotSupportedException_AlgorithmForKeyWrap(algorithm); } if (algorithm is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.algorithm); } if (encryptionAlgorithm is null) { ThrowHelper.ThrowArgumentNullException(ExceptionArgument.encryptionAlgorithm); } Algorithm = algorithm; EncryptionAlgorithm = encryptionAlgorithm; Key = key; }