public void VerifySignature(RSAPublicKey signingKey)
            {
                // Next version's data-length
                int szBytes = ReadInt32();

                if (Check.InRange(szBytes, 0, short.MaxValue) > 0)
                {
                    IOStream.Read(_hash, szBytes);
                }

                Hash hash = _hash.FinalizeHash();

                byte[] signature = LimitedSerializer.Bytes2048.ReadFrom(_payload);

                Check.Assert <InvalidDataException>(signingKey.VerifyHash(signature, hash));
                //_verified = true;
            }
            public void VerifySignature(RSAPublicKey signingKey)
            {
                // Next version's data-length
                int szBytes = ReadInt32();
                if(Check.InRange(szBytes, 0, short.MaxValue) > 0)
                    IOStream.Read(_hash, szBytes);

                Hash hash = _hash.FinalizeHash();
                byte[] signature = LimitedSerializer.Bytes2048.ReadFrom(_payload);

                Check.Assert<InvalidDataException>(signingKey.VerifyHash(signature, hash));
                //_verified = true;
            }