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

CkEcdh1DeriveParams() public method

Initializes a new instance of the CkEcdh1DeriveParams class.
public CkEcdh1DeriveParams ( ulong kdf, byte sharedData, byte publicData ) : System
kdf ulong Key derivation function used on the shared secret value (CKD)
sharedData byte Some data shared between the two parties
publicData byte Other party's EC public key value
return System
        public CkEcdh1DeriveParams(ulong kdf, byte[] sharedData, byte[] publicData)
        {
            _lowLevelStruct.Kdf = 0;
            _lowLevelStruct.SharedDataLen = 0;
            _lowLevelStruct.SharedData = IntPtr.Zero;
            _lowLevelStruct.PublicDataLen = 0;
            _lowLevelStruct.PublicData = IntPtr.Zero;

            _lowLevelStruct.Kdf = kdf;

            if (sharedData != null)
            {
                _lowLevelStruct.SharedData = UnmanagedMemory.Allocate(sharedData.Length);
                UnmanagedMemory.Write(_lowLevelStruct.SharedData, sharedData);
                _lowLevelStruct.SharedDataLen = Convert.ToUInt64(sharedData.Length);
            }

            if (publicData != null)
            {
                _lowLevelStruct.PublicData = UnmanagedMemory.Allocate(publicData.Length);
                UnmanagedMemory.Write(_lowLevelStruct.PublicData, publicData);
                _lowLevelStruct.PublicDataLen = Convert.ToUInt64(publicData.Length);
            }
        }