public byte[] SignData(byte[] buffer, int offset, int count, object halg) { if (buffer == null) { throw new ArgumentNullException("buffer"); } if (offset < 0 || offset > buffer.Length) { throw new ArgumentOutOfRangeException("offset"); } if (count < 0 || count > buffer.Length - offset) { throw new ArgumentOutOfRangeException("count"); } HashAlgorithmName hashAlgorithmName = LookupHashAlgorithm(halg); byte[] hash = _defer.HashData(buffer, offset, count, hashAlgorithmName); return(_defer.SignHash(hash, hashAlgorithmName)); }