private static void WriteKeyBlock(KeyValuePair <EncryptionType, ReadOnlyMemory <byte> > kv, NdrBuffer buffer, int version) { buffer.WriteInt16BigEndian((short)kv.Key); if (version == ExpectedVersion3) { buffer.WriteInt16BigEndian((short)kv.Key); } WriteData(kv.Value, buffer); }
private void WriteHeader(NdrBuffer buffer) { using (var headerBuffer = new NdrBuffer(align: false)) { foreach (var kv in this.Header) { headerBuffer.WriteInt16BigEndian((short)kv.Key); headerBuffer.WriteInt16BigEndian((short)kv.Value.Length); headerBuffer.WriteMemory(kv.Value); } var header = headerBuffer.ToMemory(0); buffer.WriteInt16BigEndian((short)header.Length); buffer.WriteMemory(header); } }
private static void WriteAddresses(IEnumerable <KrbHostAddress> addresses, NdrBuffer buffer) { if (addresses == null) { addresses = Array.Empty <KrbHostAddress>(); } buffer.WriteInt32BigEndian(addresses.Count()); foreach (var addr in addresses) { buffer.WriteInt16BigEndian((short)addr.AddressType); WriteData(addr.Address, buffer); } }
private static void WriteAuthData(IEnumerable <KrbAuthorizationData> authData, NdrBuffer buffer) { if (authData == null) { authData = Array.Empty <KrbAuthorizationData>(); } buffer.WriteInt32BigEndian(authData.Count()); foreach (var az in authData) { buffer.WriteInt16BigEndian((short)az.Type); WriteData(az.Data, buffer); } }
private static void WriteKeyBlock(KeyValuePair <EncryptionType, ReadOnlyMemory <byte> > kv, NdrBuffer buffer) { buffer.WriteInt16BigEndian((short)kv.Key); WriteData(kv.Value, buffer); }