Module krb_ms_pac

Functions for decoding Microsoft PACs inside a Kerberos ticket.

Description

Functions for decoding Microsoft PACs inside a Kerberos ticket.

Data Types

pac()

pac() = #pac{version = integer(), buffers = [krb_ms_pac:pac_buffer()]}

pac_buffer()

pac_buffer() = pac_unknown() | pac_client_info() | pac_upn_dns() | pac_logon_info()

pac_client_info()

pac_client_info() = #pac_client_info{tgt_time = integer(), name = binary()}

pac_logon_info()

pac_logon_info() = #pac_logon_info{times = #{atom() => integer() | never | null}, ename = binary(), fname = binary(), logon_script = binary(), profile_path = binary(), homedir = binary(), home_drive = binary(), logon_count = integer(), bad_pw_count = integer(), userid = integer(), groups = [#group_membership{rid = integer(), attrs = [krb_ms_pac:sid_attr()]}], logon_server = binary(), domain = binary(), domain_sid = krb_ms_pac:sid(), sids = any()}

pac_unknown()

pac_unknown() = #pac_unknown{type = integer(), data = binary()}

pac_upn_dns()

pac_upn_dns() = #pac_upn_dns{upn = binary(), dns_name = binary()}

sid()

sid() = #sid{revision = integer(), identifier_auth = integer(), sub_auths = [integer()]}

sid_attr()

sid_attr() = mandatory | default | enabled | owner | resource

Function Index

decode/1Decodes a PAC from raw bytes.
decode_ticket/1Extracts and decodes a PAC from a given Kerberos ticket.

Function Details

decode/1

decode(Bin::binary()) -> pac()

Decodes a PAC from raw bytes. Throws errors on invalid input.

decode_ticket/1

decode_ticket(X1::#'Ticket'{}) -> {ok, pac()} | {error, no_pac} | {error, {bad_pac, term()}}

Extracts and decodes a PAC from a given Kerberos ticket.


Generated by EDoc