package rfc4757 import "encoding/binary" // UsageToMSMsgType converts Kerberos key usage numbers to Microsoft message type encoded as a little-endian four byte slice. func UsageToMSMsgType(usage uint32) []byte { // Translate usage numbers to the Microsoft T numbers switch usage { case 3: usage = 8 case 9: usage = 8 case 23: usage = 13 } // Now convert to bytes tb := make([]byte, 4) // We force an int32 input so we can't go over 4 bytes binary.PutUvarint(tb, uint64(usage)) return tb }