o
    �õ±j­{  ã                   @   sâ  d dl mZ d dlZd dlZdZd ZdZdZdZG dd„ dej	ƒZ
G d	d
„ d
ej	ƒZG dd„ dej	ƒZG dd„ dej	ƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG dd„ deƒZG dd„ dejƒZG dd „ d ejƒZG d!d"„ d"ejƒZG d#d$„ d$ejƒZG d%d&„ d&ejƒZG d'd(„ d(ejƒZG d)d*„ d*ejƒZ G d+d,„ d,ejƒZ!G d-d.„ d.ej"ƒZ#G d/d0„ d0ej"ƒZ$G d1d2„ d2ej"ƒZ%G d3d4„ d4ej	ƒZ&G d5d6„ d6ejƒZ'G d7d8„ d8ejƒZ(G d9d:„ d:ejƒZ)G d;d<„ d<ejƒZ*G d=d>„ d>ejƒZ+G d?d@„ d@e+ƒZ,G dAdB„ dBejƒZ-G dCdD„ dDejƒZ.G dEdF„ dFejƒZ/G dGdH„ dHejƒZ0G dIdJ„ dJejƒZ1G dKdL„ dLejƒZ2G dMdN„ dNejƒZ3G dOdP„ dPejƒZ4G dQdR„ dRejƒZ5G dSdT„ dTejƒZ6G dUdV„ dVejƒZ7G dWdX„ dXejƒZ8G dYdZ„ dZejƒZ9G d[d\„ d\ejƒZ:	 G d]d^„ d^ejƒZ;G d_d`„ d`ejƒZ<G dadb„ dbe<ƒZ=G dcdd„ dde<ƒZ>G dedf„ dfej"ƒZ?G dgdh„ dhe)ƒZ@G didj„ djejƒZAG dkdl„ dlejƒZBG dmdn„ dnejƒZCG dodp„ dpejƒZDG dqdr„ drejƒZEG dsdt„ dtejƒZFG dudv„ dvejƒZGG dwdx„ dxejƒZHG dydz„ dzej"ƒZIG d{d|„ d|ejJƒZKG d}d~„ d~ejJƒZLG dd€„ d€ejƒZMG d�d‚„ d‚ejƒZNG dƒd„„ d„ejƒZOG d…d†„ d†ejƒZPG d‡dˆ„ dˆejƒZQG d‰dŠ„ dŠeQƒZRG d‹dŒ„ dŒeQƒZSG d�dŽ„ dŽejƒZTG d�d�„ d�eTƒZUG d‘d’„ d’eTƒZVG d“d”„ d”ejƒZWG d•d–„ d–ejƒZXG d—d˜„ d˜ejƒZYG d™dš„ dšejƒZZG d›dœ„ dœejƒZ[G d�dž„ džejƒZ\G dŸd „ d ejƒZ]G d¡d¢„ d¢ejƒZ^G d£d¤„ d¤ejƒZ_G d¥d¦„ d¦ejƒZ`G d§d¨„ d¨ejƒZaG d©dª„ dªejƒZbG d«d¬„ d¬ejƒZcG d­d®„ d®ejƒZdG d¯d°„ d°ejJƒZeG d±d²„ d²ejJƒZfG d³d´„ d´ejƒZgG dµd¶„ d¶ejƒZhG d·d¸„ d¸ejiƒZjG d¹dº„ dºejƒZkG d»d¼„ d¼ejƒZlG d½d¾„ d¾e!ƒZmG d¿dÀ„ dÀejnƒZoG dÁdÂ„ dÂejpƒZqG dÃdÄ„ dÄejƒZrG dÅdÆ„ dÆejƒZsdS )Çé    )ÚcoreNÚexplicité   é   é   c                   @   sd  e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“d d!“i d"d#“d$d%“d&d'“d(d)“d(d*“d+d,“d-d.“d/d0“d1d2“d3d4“d5d6“d7d8“d9d:“d;d<“d=d>“d?d@“dAdB“¥i dCdD“dEdF“dGdH“dIdJ“dKdL“dMdN“dOdP“dOdQ“dRdS“dRdT“dUdV“dWdX“dYdZ“d[d\“d]d^“d_d`“dadb“¥dcdddedfdgdhdidjdkdldmœ
¥ZdnS )oÚPADATA_TYPEr   ÚNONEr   zTGS-REQr   zENC-TIMESTAMPé   zPW-SALTr   zENC-UNIX-TIMEé   zSANDIA-SECUREIDé   ÚSESAMEé   úOSF-DCEé	   zCYBERSAFE-SECUREIDé
   z	AFS3-SALTé   z
ETYPE-INFOé   zSAM-CHALLENGEé   zSAM-RESPONSEé   zPK-AS-REQ-19é   zPK-AS-REP-19zPK-AS-REQ-WINé   z	PK-AS-REQé   z	PK-AS-REPé   zPA-PK-OCSP-RESPONSEé   zETYPE-INFO2é   zUSE-SPECIFIED-KVNOzSVR-REFERRAL-INFOé   zSAM-REDIRECTé   zGET-FROM-TYPED-DATAé   zSAM-ETYPE-INFOé   zSERVER-REFERRALé   z	ALT-PRINCé   zSAM-CHALLENGE2é   zSAM-RESPONSE2é)   zPA-EXTRA-TGTéf   zTD-KRB-PRINCIPALéh   zPK-TD-TRUSTED-CERTIFIERSéi   zPK-TD-CERTIFICATE-INDEXéj   zTD-APP-DEFINED-ERRORék   zTD-REQ-NONCEél   z
TD-REQ-SEQé€   zPA-PAC-REQUESTé�   zPA-FOR-USERé‚   zFOR-X509-USERéƒ   zFOR-CHECK-DUPSé„   zAS-CHECKSUMzPK-AS-09-BINDINGé…   zCLIENT-CANONICALIZEDz	FX-COOKIEé†   zAUTHENTICATION-SETé‡   zAUTH-SET-SELECTEDéˆ   zFX-FASTé‰   zFX-ERRORéŠ   zENCRYPTED-CHALLENGEé�   zOTP-CHALLENGEéŽ   zOTP-REQUESTzOTP-CONFIRMzOTP-PIN-CHANGEzEPAK-AS-REQzEPAK-AS-REPz	PKINIT-KXz
PKU2U-NAMEzREQ-ENC-PA-REPÚSPAKEzSUPPORTED-ETYPESzPA-PAC-OPTIONS)
é�   é�   é‘   é’   é“   é”   é•   é—   é¥   é§   N©Ú__name__Ú
__module__Ú__qualname__Ú_map© rF   rF   ú•/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/protocol/asn1_structs.pyr      sæ    ÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ãr   c                   @   s‚   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$d%d&œ¥Zd'S )(ÚAUTHDATA_TYPEr   zIF-RELEVANTr   zINTENDED-FOR-SERVERr	   zINTENDED-FOR-APPLICATION-CLASSé   z
KDC-ISSUEDr   zAND-ORr
   zMANDATORY-TICKET-EXTENSIONSr   zIN-TICKET-EXTENSIONSr   zMANDATORY-FOR-KDCr   zINITIAL-VERIFIED-CASé@   r   éA   r   éB   zOSF-DCE-PKI-CERTIDéF   zAD-authentication-strengthéG   zAD-fx-fast-armoréH   zAD-fx-fast-usedr)   z	WIN2K-PACr*   zGSS-API-ETYPE-NEGOTIATIONzSIGNTICKET-OLDERzSIGNTICKET-OLDÚ
SIGNTICKET)iïÿÿÿr5   i   NrA   rF   rF   rF   rG   rH   W   sP    ÿþýüûúùø	÷
öõôóòñðïìrH   c                   @   s~   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$i¥Zd%S )&Ú	CKSUMTYPEr   r   r   ÚCRC32r   ÚRSA_MD4r	   ÚRSA_MD4_DESrI   ÚDES_MACr   Ú	DES_MAC_Kr
   ÚRSA_MD4_DES_Kr   ÚRSA_MD5r   ÚRSA_MD5_DESr   ÚRSA_MD5_DES3r   Ú
SHA1_OTHERr   ÚHMAC_SHA1_DES3r   ÚSHA1r   ÚHMAC_SHA1_96_AES_128r   ÚHMAC_SHA1_96_AES_256i€  ÚGSSAPIivÿÿÿÚHMAC_MD5iŽûÿÿÚHMAC_MD5_ENCNrA   rF   rF   rF   rG   rQ   o   sL    ÿþýüûúùø	÷
öõôóòñðï
îrQ   c                	   @   sŠ   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$d%d&d'd(d)d*œ¥Zd+S ),ÚENCTYPEr   ÚNULLr   ÚDES_CBC_CRCr   ÚDES_CBC_MD4r	   ÚDES_CBC_MD5r   ÚDES3_CBC_MD5r   ÚOLD_DES3_CBC_SHA1r   ÚSIGN_DSA_GENERATEr   ÚENCRYPT_RSA_PRIVr   ÚENCRYPT_RSA_PUBr   ÚDES3_CBC_SHA1r   ÚAES128_CTS_HMAC_SHA1_96r   ÚAES256_CTS_HMAC_SHA1_96r   ÚARCFOUR_HMAC_MD5r   ÚARCFOUR_HMAC_MD5_56é0   ÚENCTYPE_PK_CROSSi€ÿÿÿÚARCFOUR_MD4i{ÿÿÿÚARCFOUR_HMAC_OLDÚARCFOUR_HMAC_OLD_EXPÚDES_CBC_NONEÚDES3_CBC_NONEÚDES_CFB64_NONEÚDES_PCBC_NONEÚDIGEST_MD5_NONEÚCRAM_MD5_NONE)iyÿÿÿi ðÿÿiÿïÿÿiþïÿÿiýïÿÿiüïÿÿiûïÿÿNrA   rF   rF   rF   rG   rc   †   sX    ÿþýüûúùø	÷
öõôóòñïîærc   c                   @   s   e Zd ZejZdS )ÚSequenceOfEnctypeN)rB   rC   rD   r   ÚIntegerÚ_child_specrF   rF   rF   rG   r}   ¤   s    
r}   c                   @   ó   e Zd ZdZdS )ÚMicrosecondsz1    ::= INTEGER (0..999999)
	-- microseconds
    N©rB   rC   rD   Ú__doc__rF   rF   rF   rG   r�   §   ó    r�   c                   @   r€   )Ú	krb5int32z5krb5int32  ::= INTEGER (-2147483648..2147483647)
    Nr‚   rF   rF   rF   rG   r…   «   r„   r…   c                   @   r€   )Ú
krb5uint32z,krb5uint32  ::= INTEGER (0..4294967295)
    Nr‚   rF   rF   rF   rG   r†   °   r„   r†   c                   @   s   e Zd ZdZdZdS )ÚKerberosStringzÁKerberosString ::= GeneralString (IA5String)
	For compatibility, implementations MAY choose to accept GeneralString
	values that contain characters other than those permitted by
	IA5String...
	zutf-8N)rB   rC   rD   rƒ   Ú	_encodingrF   rF   rF   rG   r‡   ´   s    r‡   c                   @   ó   e Zd ZeZdS )ÚSequenceOfKerberosStringN)rB   rC   rD   r‡   r   rF   rF   rF   rG   rŠ   ¼   r„   rŠ   c                   @   r€   )ÚRealmzRealm ::= KerberosString
	Nr‚   rF   rF   rF   rG   r‹   À   r„   r‹   c                   @   s0   e Zd ZdZdeeddœfdeeddœfgZdS )ÚPrincipalNamez‘PrincipalName for KDC-REQ-BODY and Ticket
	PrincipalName ::= SEQUENCE {
		name-type	[0] Int32,
		name-string  [1] SEQUENCE OF KerberosString
	}
	z	name-typer   ©Útag_typeÚtagzname-stringr   N)rB   rC   rD   rƒ   r…   ÚTAGrŠ   Ú_fieldsrF   rF   rF   rG   rŒ   Æ   s
    þrŒ   c                   @   ó,   e Zd ZdeeddœfdeeddœfgZdS )Ú	PrincipalÚnamer   r�   Úrealmr   N©rB   rC   rD   rŒ   r�   r‹   r‘   rF   rF   rF   rG   r“   Ó   ó    þr“   c                   @   r‰   )Ú
PrincipalsN)rB   rC   rD   r“   r   rF   rF   rF   rG   r˜   Ú   r„   r˜   c                   @   s2   e Zd ZdZdeeddœfdejeddœfgZdS )ÚHostAddressz�HostAddress for HostAddresses
    HostAddress ::= SEQUENCE {
        addr-type        [0] Int32,
        address  [1] OCTET STRING
    }
    z	addr-typer   r�   Úaddressr   N)	rB   rC   rD   rƒ   r…   r�   r   ÚOctetStringr‘   rF   rF   rF   rG   r™   Þ   s
    þr™   c                   @   ó   e Zd ZdZeZdS )ÚHostAddressesúSEQUENCE OF HostAddress
	N)rB   rC   rD   rƒ   r™   r   rF   rF   rF   rG   r�   ë   ó    r�   c                   @   r€   )ÚKerberosTimez%KerberosTime ::= GeneralizedTime
    Nr‚   rF   rF   rF   rG   r    ñ   r„   r    c                   @   ó.   e Zd ZdeeddœfdejeddœfgZdS )ÚAuthorizationDataElementzad-typer   r�   zad-datar   N©rB   rC   rD   r…   r�   r   r›   r‘   rF   rF   rF   rG   r¢   ö   ó    þr¢   c                   @   rœ   )ÚAuthorizationDatarž   N)rB   rC   rD   rƒ   r¢   r   rF   rF   rF   rG   r¥   ý   rŸ   r¥   c                   @   s   e Zd ZddddœZdS )Ú	APOptionsÚreservedzuse-session-keyzmutual-required)r   r   r   NrA   rF   rF   rF   rG   r¦     s
    
ýr¦   c                   @   sp   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “Zd!S )"ÚTicketFlagsr   r§   r   Úforwardabler   Ú	forwardedr	   Ú	proxiablerI   Úproxyr   zmay-postdater
   Ú	postdatedr   Úinvalidr   Ú	renewabler   Úinitialr   zpre-authentr   z
hw-authentr   ztransited-policy-checkedr   zok-as-delegater   Ú	anonymousr   z
enc-pa-repNrA   rF   rF   rF   rG   r¨     sD    ÿþýüûúùø	÷
öõôóòñðr¨   c                   @   s˜   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1œ¥Zd2S )3Ú
KDCOptionsr   r§   r   r©   r   rª   r	   r«   rI   r¬   r   zallow-postdater
   r­   r   Úunused7r   r¯   r   Úunused9r   Úunused10r   zopt-hardware-authr   Úunused12r   Úunused13r   zconstrained-delegationr   Úcanonicalizer   zrequest-anonymousÚunused17Úunused18Úunused19Úunused20Úunused21Úunused22Úunused23Úunused24Úunused25zdisable-transited-checkzrenewable-okzenc-tkt-in-skeyÚrenewÚvalidate)r   r   r   r   r   r   r   r   r   é   é   é   r    r!   NrA   rF   rF   rF   rG   r²      sf    ÿþýüûúùø	÷
öõôóòñðïár²   c                	   @   s"   e Zd Zddddddddd	œZd
S )ÚLR_TYPEr   ÚINITIAL_TGTÚINITIALÚISSUE_USE_TGTÚRENEWALÚREQUESTÚ
PW_EXPTIMEÚACCT_EXPTIME)r   r   r   r	   rI   r   r
   r   NrA   rF   rF   rF   rG   rÇ   C  s    
ørÇ   c                   @   r’   )ÚLastReqInnerzlr-typer   r�   zlr-valuer   N)rB   rC   rD   r…   r�   r    r‘   rF   rF   rF   rG   rÏ   O  r—   rÏ   c                   @   r‰   )ÚLastReqN)rB   rC   rD   rÏ   r   rF   rF   rF   rG   rÐ   U  r„   rÐ   c                   @   s>   e Zd Zdeeddœfdeedddœfdejed	dœfgZd
S )ÚEncryptedDataÚetyper   r�   Úkvnor   T©rŽ   r�   ÚoptionalÚcipherr   N)	rB   rC   rD   r…   r�   r†   r   r›   r‘   rF   rF   rF   rG   rÑ   Y  s
    ýrÑ   c                   @   r¡   )ÚEncryptionKeyÚkeytyper   r�   Úkeyvaluer   N©rB   rC   rD   r†   r�   r   r›   r‘   rF   rF   rF   rG   r×   a  r¤   r×   c                   @   r‰   )ÚEncryptionKeysN)rB   rC   rD   r×   r   rF   rF   rF   rG   rÛ   g  r„   rÛ   c                   @   ó   e Zd ZdS )ÚKERB_KEY_LIST_REPN©rB   rC   rD   rF   rF   rF   rG   rÝ   j  ó    rÝ   c                   @   r‰   )ÚKERB_KEY_LIST_REQN)rB   rC   rD   r†   r   rF   rF   rF   rG   rà   m  r„   rà   c                   @   r¡   )ÚTransitedEncodingztr-typer   r�   Úcontentsr   NrÚ   rF   rF   rF   rG   rá   r  r¤   rá   c                   @   sP   e Zd ZedfZdeeddœfdeeddœfdeeddœfde	ed	dœfgZ
d
S )ÚTicketr   ztkt-vnor   r�   r•   Úsnamer   úenc-partr	   N)rB   rC   rD   ÚAPPLICATIONr   r…   r�   r‹   rŒ   rÑ   r‘   rF   rF   rF   rG   rã   z  s    ürã   c                   @   rœ   )ÚSequenceOfTicketz%SEQUENCE OF Ticket for KDC-REQ-BODY
	N)rB   rC   rD   rƒ   rã   r   rF   rF   rF   rG   rç   „  rŸ   rç   c                   @   sº   e Zd ZedfZdeeddœfdeeddœfdeeddœfd	e	eddœfd
e
eddœfdeeddœfdeedddœfdeeddœfdeedddœfdeedddœfdeedddœfgZdS )ÚEncTicketPartr	   Úflagsr   r�   Úkeyr   Úcrealmr   ÚcnameÚ	transitedrI   Úauthtimer   Ú	starttimer
   TrÔ   Úendtimer   ú
renew-tillr   Úcaddrr   úauthorization-datar   N)rB   rC   rD   ræ   r   r¨   r�   r×   r‹   rŒ   rá   r    r�   r¥   r‘   rF   rF   rF   rG   rè   ‹  s    õrè   c                   @   r¡   )ÚChecksumÚ	cksumtyper   r�   Úchecksumr   Nr£   rF   rF   rF   rG   rô   �  r¤   rô   c                   @   sž   e Zd ZedfZdeeddœfdeeddœfdeeddœfde	ed	d
dœfdeeddœfde
eddœfdeedd
dœfdeedd
dœfdeedd
dœfg	ZdS )ÚAuthenticatorr   zauthenticator-vnor   r�   rë   r   rì   Úcksumr	   TrÔ   ÚcusecrI   Úctimer   Úsubkeyr
   ú
seq-numberr   ró   r   N)rB   rC   rD   ræ   r   r…   r�   r‹   rŒ   rô   r    r×   r†   r¥   r‘   rF   rF   rF   rG   r÷   ¤  s    ÷r÷   c                   @   s0   e Zd ZdejeddœfdejeddœfgZdS )ÚPA_DATAzpadata-typer   r�   zpadata-valuer   N)rB   rC   rD   r   r~   r�   r›   r‘   rF   rF   rF   rG   rý   ´  s    þrý   c                   @   s@   e Zd Zdeeddœfdejedddœfdeed	ddœfgZd
S )ÚETYPE_INFO_ENTRYrÒ   r   r�   Úsaltr   TrÔ   Úsalttyper   Nr£   rF   rF   rF   rG   rþ   º  s
    ýrþ   c                   @   r‰   )Ú
ETYPE_INFON)rB   rC   rD   rþ   r   rF   rF   rF   rG   r  Á  r„   r  c                   @   s@   e Zd Zdeeddœfdeedddœfdejed	ddœfgZd
S )ÚETYPE_INFO2_ENTRYrÒ   r   r�   rÿ   r   TrÔ   Ú	s2kparamsr   N)	rB   rC   rD   r…   r�   r‡   r   r›   r‘   rF   rF   rF   rG   r  Å  s
    ýr  c                   @   r‰   )ÚETYPE_INFO2N)rB   rC   rD   r  r   rF   rF   rF   rG   r  Ì  r„   r  c                   @   r‰   )ÚMETHOD_DATAN)rB   rC   rD   rý   r   rF   rF   rF   rG   r  Ï  r„   r  c                   @   s0   e Zd ZdeeddœfdejedddœfgZdS )	Ú	TypedDataz	data-typer   r�   z
data-valuer   TrÔ   Nr£   rF   rF   rF   rG   r  Ó  s    þr  c                   @   sÈ   e Zd Zdeeddœfdeedddœfdeed	dœfd
eedddœfdeedddœfdeedddœfdeedddœfdeeddœfde	eddœfde
edddœfdeedddœfdeedddœfgZdS )ÚKDC_REQ_BODYzkdc-optionsr   r�   rì   r   TrÔ   r•   r   rä   r	   ÚfromrI   Útillr   Úrtimer
   Únoncer   rÒ   r   Ú	addressesr   zenc-authorization-datar   zadditional-ticketsr   N)rB   rC   rD   r²   r�   rŒ   r‹   r    r…   r}   r�   rÑ   rç   r‘   rF   rF   rF   rG   r  Þ  s    ôr  c                   @   sJ   e Zd Zdeeddœfdeeddœfdeeddd	œfd
eeddœfgZdS )ÚKDC_REQÚpvnor   r�   úmsg-typer   Úpadatar	   TrÔ   úreq-bodyrI   N)rB   rC   rD   r…   r�   r  r  r‘   rF   rF   rF   rG   r  ï  s    ür  c                   @   ó   e Zd ZedfZdS )ÚAS_REQr   N©rB   rC   rD   ræ   r   rF   rF   rF   rG   r  ø  ó    r  c                   @   r  )ÚTGS_REQr   Nr  rF   rF   rF   rG   r  û  r  r  c                   @   sv   e Zd Zi dd“dd“dd“dd“d	d
“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd“dd “d!d"“Zd#S )$ÚFastOptionsr   r§   r   zhide-client-namesr   Ú
critical_2r	   Ú
critical_3rI   Ú
critical_4r   Ú
critical_5r
   Ú
critical_6r   Ú
critical_7r   Ú
critical_8r   Ú
critical_9r   Úcritical_10r   Úcritical_11r   Úcritical_12r   Úcritical_13r   Úcritical_14r   Úcritical_15r   zkdc-follow-referralsNrA   rF   rF   rF   rG   r  þ  sH    ÿþýüûúùø	÷
öõôóòñðïr  c                   @   rÜ   )ÚEncryptedChallengeNrÞ   rF   rF   rF   rG   r&    rß   r&  c                   @   sB   e Zd ZdeeddœfdejedddœfdejedddœfgZd	S )
ÚAUTHENTICATION_SET_ELEMzpa-typer   r�   zpa-hintr   TrÔ   zpa-valueNr£   rF   rF   rF   rG   r'    s
    ýr'  c                   @   r‰   )ÚAUTHENTICATION_SETN)rB   rC   rD   r'  r   rF   rF   rF   rG   r(    r„   r(  c                   @   r¡   )ÚKrbFastArmorz
armor-typer   r�   zarmor-valuer   Nr£   rF   rF   rF   rG   r)  "  r¤   r)  c                   @   s<   e Zd Zdeedddœfdeeddœfdeed	dœfgZd
S )ÚKrbFastArmoredReqÚarmorr   TrÔ   zreq-checksumr   r�   zenc-fast-reqr   N)rB   rC   rD   r)  r�   rô   rÑ   r‘   rF   rF   rF   rG   r*  )  s
    ýr*  c                   @   s:   e Zd ZdeeddœfdeeddœfdeeddœfgZdS )	Ú
KrbFastReqzfast-optionsr   r�   r  r   r  r   N)rB   rC   rD   r  r�   r  r  r‘   rF   rF   rF   rG   r,  0  s
    ýr,  c                	   @   sV   e Zd Zdeeddœfdeeddœfdeeddœfdeed	dœfd
eeddœfgZ	dS )ÚKrbFastFinishedÚ	timestampr   r�   Úusecr   rë   r   rì   r	   zticket-checksumrI   N)
rB   rC   rD   r    r�   r�   r‹   rŒ   rô   r‘   rF   rF   rF   rG   r-  8  s    ûr-  c                   @   ó   e Zd ZdeeddœfgZdS )ÚKrbFastArmoredRepzenc-fast-repr   r�   N)rB   rC   rD   rÑ   r�   r‘   rF   rF   rF   rG   r1  B  ó    ÿr1  c                   @   sL   e Zd Zdeeddœfdeedddœfdeed	ddœfd
eeddœfgZdS )ÚKrbFastResponser  r   r�   zstrengthen-keyr   TrÔ   Úfinishedr   r  r	   N)	rB   rC   rD   r  r�   r×   r-  r†   r‘   rF   rF   rF   rG   r3  G  s    ür3  c                   @   ó   e Zd ZdddddœZdS )ÚPA_PAC_OPTIONSTypesÚClaimszBranch AwarezForward to Full DCz%resource-based constrained delegation)r   r   r   r	   NrA   rF   rF   rF   rG   r6  R  ó    
ür6  c                   @   ó    e Zd ZdededfifgZdS )ÚPA_FX_FAST_REQUESTúarmored-datar   r   N)rB   rC   rD   r*  ÚCONTEXTÚ_alternativesrF   rF   rF   rG   r:  Z  ó    ÿr:  c                   @   r9  )ÚPA_FX_FAST_REPLYr;  r   r   N)rB   rC   rD   r1  r<  r=  rF   rF   rF   rG   r?  _  r>  r?  c                   @   r0  )ÚPA_PAC_OPTIONSÚvaluer   r�   N)rB   rC   rD   r6  r�   r‘   rF   rF   rF   rG   r@  f  r2  r@  c                   @   s.   e Zd ZdeeddœfdeedddœfgZdS )	ÚPA_ENC_TS_ENCÚpatimestampr   r�   Úpausecr   TrÔ   N)rB   rC   rD   r    r�   r…   r‘   rF   rF   rF   rG   rB  n  r¤   rB  c                   @   s    e Zd ZdejeddœfgZdS )ÚPA_PAC_REQUESTzinclude-pacr   r�   N)rB   rC   rD   r   ÚBooleanr�   r‘   rF   rF   rF   rG   rE  u  r>  rE  c                   @   rÜ   )ÚPROV_SRV_LOCATIONNrÞ   rF   rF   rF   rG   rG  {  rß   rG  c                   @   sv   e Zd Zdejeddœfdeeddœfdeeddd	œfd
eeddœfde	eddœfde
eddœfdeeddœfgZdS )ÚKDC_REPr  r   r�   r  r   r  r   TrÔ   rë   r	   rì   rI   Úticketr   rå   r
   N)rB   rC   rD   r   r~   r�   r…   r  r‹   rŒ   rã   rÑ   r‘   rF   rF   rF   rG   rH    s    ùrH  c                   @   r  )ÚAS_REPr   Nr  rF   rF   rF   rG   rJ  ‹  s    rJ  c                   @   r  )ÚTGS_REPr   Nr  rF   rF   rF   rG   rK  �  r  rK  c                   @   sÐ   e Zd Zdeeddœfdeeddœfdeeddœfdeed	d
dœfdeeddœfdeeddœfdeedd
dœfdeeddœfdeedd
dœfde	eddœfde
eddœfdeedd
dœfdeedd
dœfgZdS )ÚEncKDCRepPartrê   r   r�   zlast-reqr   r  r   zkey-expirationr	   TrÔ   ré   rI   rî   r   rï   r
   rð   r   rñ   r   Úsrealmr   rä   r   rò   r   zencrypted-pa-datar   N)rB   rC   rD   r×   r�   rÐ   r…   r    r¨   r‹   rŒ   r�   r  r‘   rF   rF   rF   rG   rL  “  s    órL  c                   @   r  )ÚEncASRepPartr   Nr  rF   rF   rF   rG   rN  ¤  r  rN  c                   @   r  )ÚEncTGSRepPartrÄ   Nr  rF   rF   rF   rG   rO  §  r  rO  c                	   @   s^   e Zd ZedfZdeeddœfdeeddœfdeeddœfd	eed
dœfde	eddœfgZ
dS )ÚAP_REQr   r  r   r�   r  r   z
ap-optionsr   rI  r	   ÚauthenticatorrI   N)rB   rC   rD   ræ   r   r…   r�   r¦   rã   rÑ   r‘   rF   rF   rF   rG   rP  ª  s    ûrP  c                   @   óB   e Zd ZedfZdeeddœfdeeddœfdeeddœfgZd	S )
ÚAP_REPr   r  r   r�   r  r   rå   r   N©	rB   rC   rD   ræ   r   r…   r�   rÑ   r‘   rF   rF   rF   rG   rS  ´  ó    ýrS  c                	   @   sT   e Zd ZedfZdeeddœfdeeddœfdeedd	d
œfde	edd	d
œfgZ
dS )ÚEncAPRepPartrÅ   rú   r   r�   rù   r   rû   r   TrÔ   rü   r	   N)rB   rC   rD   ræ   r   r    r�   r…   r×   r†   r‘   rF   rF   rF   rG   rV  ½  s    ürV  c                   @   sp   e Zd Zdejeddœfdeedddœfdeed	ddœfd
eedddœfde	edddœfde	edddœfgZ
dS )ÚKRB_SAFE_BODYú	user-datar   r�   r.  r   TrÔ   r/  r   rü   r	   ú	s-addressrI   ú	r-addressr   N)rB   rC   rD   r   r›   r�   r    r…   r†   r™   r‘   rF   rF   rF   rG   rW  Ç  s    úrW  c                   @   sP   e Zd ZedfZdeeddœfdeeddœfdeeddœfd	eed
dœfgZ	dS )ÚKRB_SAFEr   r  r   r�   r  r   z	safe-bodyr   rø   r	   N)
rB   rC   rD   ræ   r   r…   r�   rW  rô   r‘   rF   rF   rF   rG   r[  Ò  s    ür[  c                   @   rR  )
ÚKRB_PRIVr   r  r   r�   r  r   rå   r	   NrT  rF   rF   rF   rG   r\  Û  rU  r\  c                   @   sx   e Zd ZedfZdejeddœfdeedddœfd	e	ed
ddœfde
edddœfdeedddœfdeedddœfgZdS )ÚEncKrbPrivPartrÆ   rX  r   r�   r.  r   TrÔ   r/  r   rü   r	   rY  rI   rZ  r   N)rB   rC   rD   ræ   r   r   r›   r�   r    r…   r†   r™   r‘   rF   rF   rF   rG   r]  ä  s    úr]  c                   @   óT   e Zd ZedfZdejeddœfdejeddœfdeeddœfd	e	ed
dœfgZ
dS )ÚKRB_CREDr   r  r   r�   r  r   Úticketsr   rå   r	   N©rB   rC   rD   ræ   r   r   r~   r�   rç   rÑ   r‘   rF   rF   rF   rG   r_  ð  s    ür_  c                   @   s¾   e Zd Zdeeddœfdeedddœfdeed	ddœfd
eedddœfdeedddœfdeedddœfdeedddœfdeedddœfdeedddœfdeedddœfde	edddœfgZ
dS )ÚKrbCredInforê   r   r�   Úprealmr   TrÔ   Úpnamer   ré   r	   rî   rI   rï   r   rð   r
   rñ   r   rM  r   rä   r   rò   r   N)rB   rC   rD   r×   r�   r‹   rŒ   r¨   r    r�   r‘   rF   rF   rF   rG   rb  û  s    õrb  c                   @   r‰   )ÚSequenceOfKrbCredInfoN)rB   rC   rD   rb  r   rF   rF   rF   rG   re  
  r„   re  c                   @   sv   e Zd ZedfZdeeddœfdeedddœfd	eed
ddœfdeedddœfde	edddœfde	edddœfgZ
dS )ÚEncKrbCredParté   zticket-infor   r�   r  r   TrÔ   r.  r   r/  r	   rY  rI   rZ  r   N)rB   rC   rD   ræ   r   re  r�   r…   r    r™   r‘   rF   rF   rF   rG   rf    s    úrf  c                   @   sÞ   e Zd ZedfZdeeddœfdeeddœfdeedd	d
œfdeedd	d
œfdeeddœfdeeddœfdeeddœfdeedd	d
œfde	edd	d
œfdeeddœfde	eddœfde
jedd	d
œfde
jedd	d
œfgZdS ) Ú	KRB_ERRORr    r  r   r�   r  r   rú   r   TrÔ   rù   r	   ÚstimerI   Úsusecr   z
error-coder
   rë   r   rì   r   r•   r   rä   r   ze-textr   ze-datar   N)rB   rC   rD   ræ   r   r…   r�   r    r‹   rŒ   r   ÚGeneralStringr›   r‘   rF   rF   rF   rG   rh    s     órh  c                   @   s@   e Zd Zdejeddœfdeedddœfdeed	ddœfgZd
S )ÚChangePasswdDataMSÚ	newpasswdr   r�   Útargnamer   TrÔ   Ú	targrealmr   N)	rB   rC   rD   r   r›   r�   rŒ   r‹   r‘   rF   rF   rF   rG   rl  *  ó
    ýrl  c                   @   r‰   )Ú	EtypeListN)rB   rC   rD   rc   r   rF   rF   rF   rG   rq  1  s    rq  c                   @   s@   e Zd ZdededfifdededfifdededfifgZdS )	ÚKerberosResponserJ  Úimplicitr   rK  r   rh  r    N)rB   rC   rD   rJ  ræ   rK  rh  r=  rF   rF   rF   rG   rr  7  rp  rr  c                	   @   s`   e Zd Zdededfifdededfifdededfifdeded	fifd
ededfifgZ	dS )ÚKerberosMessager  rs  r   rJ  r   r  r   rK  r   rh  r    N)
rB   rC   rD   r  ræ   rJ  r  rK  rh  r=  rF   rF   rF   rG   rt  >  s    ûrt  c                   @   r^  )ÚKRBCREDr   r  r   r�   r  r   r`  r   rå   r	   Nra  rF   rF   rF   rG   ru  H  s    üru  c                   @   sH   e Zd Zdeeddœfdeeddœfdeeddœfdeed	dœfgZd
S )ÚPA_FOR_USER_ENCÚuserNamer   r�   Ú	userRealmr   rø   r   zauth-packager	   N)	rB   rC   rD   rŒ   r�   r‹   rô   r‡   r‘   rF   rF   rF   rG   rv  U  s    ürv  c                   @   r5  )ÚS4UUserIDOptionszcheck-logon-hourzsigned-with-kun-27znt-auth-policy-not-requiredzunconditional-delegation)i   @i    i   i   NrA   rF   rF   rF   rG   ry  _  r8  ry  c                
   @   s`   e Zd Zdejeddœfdeedddœfdeed	dœfd
ejedddœfde	edddœfgZ
dS )Ú	S4UUserIDr  r   r�   rì   r   TrÔ   rë   r   zsubject-certificater	   ÚoptionsrI   N)rB   rC   rD   r   r~   r�   rŒ   r‹   r›   ry  r‘   rF   rF   rF   rG   rz  h  s    ûrz  c                   @   r’   )ÚPA_S4U_X509_USERzuser-idr   r�   rö   r   N)rB   rC   rD   rz  r�   rô   r‘   rF   rF   rF   rG   r|  r  r—   r|  c                   @   rÜ   )ÚAD_IF_RELEVANTNrÞ   rF   rF   rF   rG   r}  x  rß   r}  c                   @   s   e Zd ZddiZddiZdS )Ú	GSSAPIOIDz1.2.840.113554.1.2.2Úkrb5N)rB   rC   rD   rE   Ú_reverse_maprF   rF   rF   rG   r~  |  s
    ÿÿr~  c                   @   s   e Zd ZdZdZdZdS )ÚGSSAPITokenr   r   N)rB   rC   rD   Úclass_r�   ÚmethodrF   rF   rF   rG   r�  †  s    r�  c                   @   sP   e Zd Zdeeddœfdeeddœfdeeddœfdeed	dœfgZd
d„ ZdS )ÚKERB_DMSA_KEY_PACKAGEúcurrent-keysr   r�   úprevious-keysr   zexpiration-intervalr   zfetch-intervalrI   c                 C   s~  g }| j }|d D ]}| |d |d f¡ q	g }|d D ]}| |d |d f¡ qd}|D ]C}|d dkrB|d|d	  ¡  7 }q/|d d
krS|d|d	  ¡  7 }q/|d dkrd|d|d	  ¡  7 }q/|d|d |d	  ¡ f 7 }q/|d7 }|D ]C}|d dkrŒ|d|d	  ¡  7 }qy|d d
kr�|d|d	  ¡  7 }qy|d dkr®|d|d	  ¡  7 }qy|d|d |d	  ¡ f 7 }qy|S )Nr…  rØ   rÙ   r†  zCURRENT KEYS:
r   r   z   RC4: %s
r   r   z   AES128: %s
r   z   AES256: %s
z   UNK[%s]: %s
zPREVIOUS KEYS:
z    AES256: %s
)ÚnativeÚappendÚhex)ÚselfÚcurrent_keysÚ
keypackagerê   Úprevious_keysÚtextÚcurrent_keyÚprevious_keyrF   rF   rG   Údescribe“  s4   zKERB_DMSA_KEY_PACKAGE.describeN)rB   rC   rD   rÝ   r�   r    r‘   r‘  rF   rF   rF   rG   r„  ‹  s    ür„  c                   @   r’   )ÚKERB_SUPERSEDED_BY_USERr”   r   r�   r•   r   Nr–   rF   rF   rF   rG   r’  µ  r—   r’  )tÚ
asn1cryptor   ÚenumÚosr�   Ú	UNIVERSALræ   r<  Ú	krb5_pvnoÚ
Enumeratedr   rH   rQ   rc   Ú
SequenceOfr}   r~   r�   r…   r†   rk  r‡   rŠ   r‹   ÚSequencerŒ   r“   r˜   r™   r�   ÚGeneralizedTimer    r¢   r¥   Ú	BitStringr¦   r¨   r²   rÇ   rÏ   rÐ   rÑ   r×   rÛ   rÝ   rà   rá   rã   rç   rè   rô   r÷   rý   rþ   r  r  r  r  r  r  r  r  r  r  r&  r'  r(  r)  r*  r,  r-  r1  r3  r6  ÚChoicer:  r?  r@  rB  rE  rG  rH  rJ  rK  rL  rN  rO  rP  rS  rV  rW  r[  r\  r]  r_  rb  re  rf  rh  rl  rq  rr  rt  ru  rv  ÚIntegerBitStringry  rz  r|  r}  ÚObjectIdentifierr~  Ú	Asn1Valuer�  r„  r’  rF   rF   rF   rG   Ú<module>   sÒ   A#
	

	
		

	

*