/// <summary> /// Initializes a new instance of the CkCcmParams class. /// </summary> /// <param name="dataLen">Length of the data</param> /// <param name="nonce">Nonce</param> /// <param name="aad">Additional authentication data</param> /// <param name="macLen">Length of the MAC (output following cipher text) in bytes</param> public CkCcmParams(ulong dataLen, byte[] nonce, byte[] aad, ulong macLen) { if (Platform.UnmanagedLongSize == 4) { if (Platform.StructPackingSize == 0) { _params40 = new HighLevelAPI40.MechanismParams.CkCcmParams(Convert.ToUInt32(dataLen), nonce, aad, Convert.ToUInt32(macLen)); } else { _params41 = new HighLevelAPI41.MechanismParams.CkCcmParams(Convert.ToUInt32(dataLen), nonce, aad, Convert.ToUInt32(macLen)); } } else { if (Platform.StructPackingSize == 0) { _params80 = new HighLevelAPI80.MechanismParams.CkCcmParams(dataLen, nonce, aad, macLen); } else { _params81 = new HighLevelAPI81.MechanismParams.CkCcmParams(dataLen, nonce, aad, macLen); } } }
/// <summary> /// Disposes object /// </summary> /// <param name="disposing">Flag indicating whether managed resources should be disposed</param> protected virtual void Dispose(bool disposing) { if (!this._disposed) { if (disposing) { // Dispose managed objects if (_params40 != null) { _params40.Dispose(); _params40 = null; } if (_params41 != null) { _params41.Dispose(); _params41 = null; } if (_params80 != null) { _params80.Dispose(); _params80 = null; } if (_params81 != null) { _params81.Dispose(); _params81 = null; } } // Dispose unmanaged objects _disposed = true; } }