public void WriteUInt24(UInt32 value) { byte[] data = BitConverter.GetBytes(value); if (BitConverter.IsLittleEndian) { Array.Reverse(data); } _writer.Write(data, 1, 3); }
protected override byte[] EncodeDataBytes(ProtocolVersion version) { int certsLength = 0; foreach (X509Certificate cert in CertificateList) { certsLength += 3; certsLength += cert.GetRawCertData().Length; } MemoryStream memStream = new MemoryStream(); HandshakeStream stream = new HandshakeStream(memStream); stream.WriteUInt24((UInt32)certsLength); foreach (X509Certificate cert in CertificateList) { byte[] certBytes = cert.GetRawCertData(); stream.WriteUInt24((UInt32)certBytes.Length); stream.WriteBytes(certBytes); } return(memStream.ToArray()); }