mskile
import "github.com/TheManticoreProject/Manticore/network/kerberos/v5/mskile"
Package mskile implements the Microsoft-specific pre-authentication data (PA-DATA) payloads that MS-KILE layers onto RFC 4120’s extension point: PA-PAC-REQUEST (128), PA-PAC-OPTIONS (167), and PA-SUPPORTED-ENCTYPES (165). These are additive extensions — the surrounding AS-REQ/TGS-REQ messages remain exactly RFC 4120’s.
Index
- Constants
- func PACOptions(bits …int) ([]byte, error)
- func PACOptionsPAData(bits …int) (messages.PAData, error)
- func PACRequest(includePAC bool) ([]byte, error)
- func PACRequestPAData(includePAC bool) (messages.PAData, error)
- func ParsePACOptions(b []byte) ([]int, error)
- func ParsePACRequest(b []byte) (includePAC bool, err error)
- func ParseSupportedEnctypes(b []byte) (int32, error)
- func SupportedEnctypes(flags int32) ([]byte, error)
- func SupportedEnctypesPAData(flags int32) (messages.PAData, error)
Constants
PA-PAC-OPTIONS flag bit positions.
const (
PACOptionClaims = 0 // Claims
PACOptionBranchAware = 1 // Branch Aware
PACOptionForwardToFullDC = 2 // Forward to Full DC
PACOptionResourceBasedConstrainedDeleg = 3 // resource-based constrained delegation (MS-SFU)
)
Supported Encryption Types bit flags (MS-KILE 2.2.7).
const (
EncTypeDESCBCCRC = 0x00000001 // A
EncTypeDESCBCMD5 = 0x00000002 // B
EncTypeRC4HMAC = 0x00000004 // C
EncTypeAES128CTSHMACSHA196 = 0x00000008 // D
EncTypeAES256CTSHMACSHA196 = 0x00000010 // E
EncTypeFASTSupported = 0x00000020 // F
EncTypeCompoundIdentity = 0x00000040 // G
EncTypeClaimsSupported = 0x00000080 // H
EncTypeResourceSIDCompDisabled = 0x00000100 // I
EncTypeAES256SK = 0x00000200 // J: enforce AES session keys
EncTypeAES128CTSHMACSHA256 = 0x00000400 // K (RFC 8009)
EncTypeAES256CTSHMACSHA384 = 0x00000800 // L (RFC 8009)
)
func PACOptions
func PACOptions(bits ...int) ([]byte, error)
PACOptions returns the DER-encoded PA-PAC-OPTIONS padata-value with the given option bits set.
func PACOptionsPAData
func PACOptionsPAData(bits ...int) (messages.PAData, error)
PACOptionsPAData builds the PA-DATA element for PA-PAC-OPTIONS.
func PACRequest
func PACRequest(includePAC bool) ([]byte, error)
PACRequest returns the DER-encoded PA-PAC-REQUEST padata-value.
func PACRequestPAData
func PACRequestPAData(includePAC bool) (messages.PAData, error)
PACRequestPAData builds the PA-DATA element for PA-PAC-REQUEST.
func ParsePACOptions
func ParsePACOptions(b []byte) ([]int, error)
ParsePACOptions decodes a PA-PAC-OPTIONS padata-value and reports which option bit positions are set.
func ParsePACRequest
func ParsePACRequest(b []byte) (includePAC bool, err error)
ParsePACRequest decodes a PA-PAC-REQUEST padata-value.
func ParseSupportedEnctypes
func ParseSupportedEnctypes(b []byte) (int32, error)
ParseSupportedEnctypes decodes a PA-SUPPORTED-ENCTYPES padata-value.
func SupportedEnctypes
func SupportedEnctypes(flags int32) ([]byte, error)
SupportedEnctypes returns the DER-encoded PA-SUPPORTED-ENCTYPES padata-value.
func SupportedEnctypesPAData
func SupportedEnctypesPAData(flags int32) (messages.PAData, error)
SupportedEnctypesPAData builds the PA-DATA element for PA-SUPPORTED-ENCTYPES.