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 dejZMG dd dejZNG dd dejZOG dd dejZPG dd dejZQG dd deQZRG dd deQZSG dd dejZTG dd deTZUG dd deTZVG dd dejZWG dd dejZXG dd dejZYG dd dejZZG dd dejZ[G dd dejZ\G dd dejZ]G dd dejZ^G dd dejZ_G dd dejZ`G dd dejZaG dd dejZbG dd dejZcG dd dejZdG dd dejJZeG dd dejJZfG dd dejZgG dd dejZhG dd dejiZjG dd dejZkG dd dejZlG dd de!ZmG dd dejnZoG dd dejpZqG ddĄ dejZrG ddƄ de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-TGTf   zTD-KRB-PRINCIPALh   zPK-TD-TRUSTED-CERTIFIERSi   zPK-TD-CERTIFICATE-INDEXj   zTD-APP-DEFINED-ERRORk   zTD-REQ-NONCEl   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-CERTIDF   zAD-authentication-strengthG   zAD-fx-fast-armorH   zAD-fx-fast-usedr)   z	WIN2K-PACr*   zGSS-API-ETYPE-NEGOTIATIONzSIGNTICKET-OLDERzSIGNTICKET-OLD
SIGNTICKET)ir5   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_560   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)iyi iiiiiNrA   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 )KerberosStringzKerberosString ::= 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 )PrincipalNamezPrincipalName 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 )HostAddresszHostAddress 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#
	

	
		

	

*