Esempio n. 1
0
 public void Marshal(NdrBuffer buffer)
 {
     buffer.WriteByte(Revision);
     buffer.WriteByte(SubAuthorityCount);
     buffer.WriteStruct(IdentifierAuthority);
     buffer.WriteFixedPrimitiveArray(SubAuthority.Span);
 }
Esempio n. 2
0
        public void Marshal(NdrBuffer buffer)
        {
            if (buffer == null)
            {
                throw new ArgumentNullException(nameof(buffer));
            }

            buffer.WriteByte(this.Revision);
            buffer.WriteByte(this.SubAuthorityCount);
            buffer.WriteStruct(this.IdentifierAuthority);
            buffer.WriteFixedPrimitiveArray(this.SubAuthority.Span);
        }
Esempio n. 3
0
        internal byte[] Serialize()
        {
            using (var buffer = new NdrBuffer(align: false))
            {
                buffer.WriteByte(Magic);
                buffer.WriteByte(ExpectedVersion);

                this.WriteHeader(buffer);
                WritePrincipal(this.DefaultPrincipalName, buffer);

                this.WriteCredentials(buffer);

                return(buffer.ToMemory(0).ToArray());
            }
        }
Esempio n. 4
0
 private static void WriteCredential(Krb5Credential cred, NdrBuffer buffer)
 {
     WritePrincipal(cred.Client, buffer);
     WritePrincipal(cred.Server, buffer);
     WriteKeyBlock(cred.KeyBlock, buffer);
     WriteDateTimeOffset(cred.AuthTime, buffer);
     WriteDateTimeOffset(cred.StartTime, buffer);
     WriteDateTimeOffset(cred.EndTime, buffer);
     WriteDateTimeOffset(cred.RenewTill, buffer);
     buffer.WriteByte(cred.IsKey ? (byte)0x1 : (byte)0x0);
     buffer.WriteInt32BigEndian((int)cred.Flags);
     WriteAddresses(cred.Addresses, buffer);
     WriteAuthData(cred.AuthData, buffer);
     WriteData(cred.Ticket, buffer);
     WriteData(cred.SecondTicket, buffer);
 }