Generated from Manticore v1.1.6 • 388 packages. View on pkg.go.dev

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

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.