Net.Pkcs11Interop.HighLevelAPI81.MechanismParams.CkAesCbcEncryptDataParams.CkAesCbcEncryptDataParams C# (CSharp) Method

CkAesCbcEncryptDataParams() public method

Initializes a new instance of the CkAesCbcEncryptDataParams class.
public CkAesCbcEncryptDataParams ( byte iv, byte data ) : System
iv byte IV value (16 bytes)
data byte Data value part that must be a multiple of 16 bytes long
return System
        public CkAesCbcEncryptDataParams(byte[] iv, byte[] data)
        {
            _lowLevelStruct.Iv = new byte[16];
            _lowLevelStruct.Data = IntPtr.Zero;
            _lowLevelStruct.Length = 0;

            if (iv == null)
                throw new ArgumentNullException("iv");
            
            if (iv.Length != 16)
                throw new ArgumentOutOfRangeException("iv", "Array has to be 16 bytes long");

            Array.Copy(iv, _lowLevelStruct.Iv, iv.Length);

            if (data != null)
            {
                _lowLevelStruct.Data = UnmanagedMemory.Allocate(data.Length);
                UnmanagedMemory.Write(_lowLevelStruct.Data, data);
                _lowLevelStruct.Length = Convert.ToUInt64(data.Length);
            }
        }