public static Keytab Decode(byte[] buffer) { List <KeytabEntry> entryList = new List <KeytabEntry>(); KeytabDecodeBuffer decodeBuffer = new KeytabDecodeBuffer(buffer); Keytab keytab = new Keytab(); keytab.FormatVersion = decodeBuffer.DecodeUInt16(); //0x502, or 0x501 keytab.entries = new KeytabEntry[1]; while (!decodeBuffer.EOS) { entryList.Add(KeytabEntry.Decode(decodeBuffer, keytab.FormatVersion)); } keytab.entries = new KeytabEntry[entryList.Count]; for (int i = 0; i < entryList.Count; i++) { keytab.entries[i] = entryList[i]; } return(keytab); }