o
    àý°j`^  ã                   @   sà  d dl mZ dd„ ZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZdZdZG dd„ deƒZ	G dd„ deƒZ
G dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ deƒ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/d0“d1d2“d3d4“d5d6“d7d8“dd9“i dd:“d;d<“d=d>“d?d@“dAdB“dCdD“dEdF“dGdH“dIdJ“dKdL“dMdN“dOdP“dQdR“dSdT“dUdV“dWdX“dYdZ“¥i d[d\“d]d^“d_d`“dadb“dcdd“dedf“dgdh“didj“dkdl“dmdn“dodp“dqdr“dsdt“dudv“dwdx“dydz“d{d|“¥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¨œ	¥ZG d©dª„ dªeƒZG d«d¬„ d¬eƒZG d­d®„ d®eƒZG d¯d°„ d°eƒZG d±d²„ d²eƒZG d³d´„ d´eƒZdµS )¶é    )ÚEnumc                 C   s6   t ƒ }tddƒD ]}| d¡ q| D ]}d||< q|S )Nr   é    é   )ÚlistÚrangeÚappend)ÚflagsÚ
finalFlagsÚiÚf© r   úŠ/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/krb5/constants.pyÚencodeFlags   s   
r   c                   @   s\   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdS )ÚApplicationTagNumbersr   é   é   é
   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   é   N)Ú__name__Ú
__module__Ú__qualname__ÚTicketÚAuthenticatorÚEncTicketPartÚAS_REQÚAS_REPÚTGS_REQÚTGS_REPÚAP_REQÚAP_REPÚ
RESERVED16Ú
RESERVED17ÚKRB_SAFEÚKRB_PRIVÚKRB_CREDÚEncASRepPartÚEncTGSRepPartÚEncApRepPartÚEncKrbPrivPartÚEncKrbCredPartÚ	KRB_ERRORr   r   r   r   r       s*    r   c                   @   óD   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdS )ÚPrincipalNameTyper   r   r   r   é   é   é   é   r   r   r   é€ÿÿÿéÿÿÿé~ÿÿÿN)r#   r$   r%   Ú
NT_UNKNOWNÚNT_PRINCIPALÚNT_SRV_INSTÚ
NT_SRV_HSTÚNT_SRV_XHSTÚNT_UIDÚNT_X500_PRINCIPALÚNT_SMTP_NAMEÚNT_ENTERPRISEÚNT_WELLKNOWNÚNT_SRV_HST_DOMAINÚNT_MS_PRINCIPALÚNT_MS_PRINCIPAL_AND_IDÚNT_ENT_PRINCIPAL_AND_IDr   r   r   r   r;   6   s    r;   c                   @   sÈ   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!dZ"d Z#d!Z$d"Z%d#Z&d$Z'd%Z(d&Z)d'Z*d(Z+d)Z,d*Z-d+Z.d,Z/d-Z0d.Z1d/S )0ÚPreAuthenticationDataTypesr   r   r   r=   r>   r?   é   é	   r   r   r   r   r   r   r   r   é   r   r   r   é   é   r"   é   é)   ée   éf   ég   éh   éi   éj   ék   él   é€   é�   é‚   é…   éˆ   é‰   éŠ   é¡   é¢   é¥   é§   éª   é«   N)2r#   r$   r%   Ú
PA_TGS_REQÚPA_ENC_TIMESTAMPÚ
PA_PW_SALTÚPA_ENC_UNIX_TIMEÚPA_SANDIA_SECUREIDÚ	PA_SESAMEÚ
PA_OSF_DCEÚPA_CYBERSAFE_SECUREIDÚPA_AFS3_SALTÚPA_ETYPE_INFOÚPA_SAM_CHALLENGEÚPA_SAM_RESPONSEÚPA_PK_AS_REQ_OLDÚPA_PK_AS_REP_OLDÚPA_PK_AS_REQÚPA_PK_AS_REPÚPA_ETYPE_INFO2ÚPA_USE_SPECIFIED_KVNOÚPA_SAM_REDIRECTÚPA_GET_FROM_TYPED_DATAÚ	TD_PADATAÚPA_SAM_ETYPE_INFOÚPA_ALT_PRINCÚPA_SAM_CHALLENGE2ÚPA_SAM_RESPONSE2ÚPA_EXTRA_TGTÚTD_PKINIT_CMS_CERTIFICATESÚTD_KRB_PRINCIPALÚTD_KRB_REALMÚTD_TRUSTED_CERTIFIERSÚTD_CERTIFICATE_INDEXÚTD_APP_DEFINED_ERRORÚTD_REQ_NONCEÚ
TD_REQ_SEQÚPA_PAC_REQUESTÚPA_FOR_USERÚPA_S4U_X509_USERÚPA_FX_COOKIEÚ
PA_FX_FASTÚPA_FX_ERRORÚPA_ENCRYPTED_CHALLENGEÚKERB_KEY_LIST_REQÚKERB_KEY_LIST_REPÚPA_SUPPORTED_ENCTYPESÚPA_PAC_OPTIONSÚKERB_SUPERSEDED_BY_USERÚKERB_DMSA_KEY_PACKAGEr   r   r   r   rQ   F   s`    rQ   c                   @   s0   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
S )ÚAddressTyper   r   r=   r>   r?   r   r   r   rV   N)r#   r$   r%   ÚIPv4ÚDirectionalÚChaosNetÚXNSÚISOÚDECNET_Phase_IVÚAppleTalk_DDPÚNetBiosÚIPv6r   r   r   r   r�   w   s    r�   r   r   c                   @   s@   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdS )ÚAuthorizationDataTyper   r   r   r<   r=   r>   r?   rR   é@   éA   éB   ra   rb   N)r#   r$   r%   ÚAD_IF_RELEVANTÚAD_INTENDED_FOR_SERVERÚ!AD_INTENDED_FOR_APPLICATION_CLASSÚAD_KDC_ISSUEDÚ	AD_AND_ORÚAD_MANDATORY_TICKET_EXTENSIONSÚAD_IN_TICKET_EXTENSIONSÚAD_MANDATORY_FOR_KDCÚOSF_DCEÚSESAMEÚAD_OSF_DCE_PKI_CERTIDÚAD_WIN2K_PACÚAD_ETYPE_NEGOTIATIONr   r   r   r   r§   ‡   s    r§   c                   @   ó   e Zd ZdZdS )ÚTransitedEncodingTypesr   N)r#   r$   r%   ÚDOMAIN_X500_COMPRESSr   r   r   r   r¹   ˜   ó    r¹   c                   @   r¸   )ÚProtocolVersionNumberr=   N)r#   r$   r%   Úpvnor   r   r   r   r¼   œ   r»   r¼   c                   @   s<   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdS )ÚKerberosMessageTypesr   r   r   r   r   r   r   r   r   r   r   r"   N)r#   r$   r%   Ú
KRB_AS_REQÚ
KRB_AS_REPÚKRB_TGS_REQÚKRB_TGS_REPÚ
KRB_AP_REQÚ
KRB_AP_REPÚKRB_RESERVED16ÚKRB_RESERVED17r1   r2   r3   r9   r   r   r   r   r¾       s    r¾   c                   @   r:   )Ú	NameTypesr   r   r   r   r<   r=   r>   r?   r   r   r   r@   rA   rB   N)r#   r$   r%   ÚKRB_NT_UNKNOWNÚKRB_NT_PRINCIPALÚKRB_NT_SRV_INSTÚKRB_NT_SRV_HSTÚKRB_NT_SRV_XHSTÚ
KRB_NT_UIDÚKRB_NT_X500_PRINCIPALÚKRB_NT_SMTP_NAMEÚKRB_NT_ENTERPRISEÚKRB_NT_WELLKNOWNÚKRB_NT_SRV_HST_DOMAINÚKRB_NT_MS_PRINCIPALÚKRB_NT_MS_PRINCIPAL_AND_IDÚKRB_NT_ENT_PRINCIPAL_AND_IDr   r   r   r   rÇ   °   s    rÇ   c                   @   s@  e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZ dZ!d Z"d!Z#d"Z$d#Z%d$Z&d%Z'd&Z(d'Z)d(Z*d)Z+d*Z,d+Z-d,Z.d-Z/d.Z0d/Z1d0Z2d1Z3d2Z4d3Z5d4Z6d5Z7d6Z8d7Z9d8Z:d9Z;d:Z<d;Z=d<Z>d=Z?d>Z@d?ZAd@ZBdAZCdBZDdCZEdDZFdEZGdFZHdGZIdHZJdIZKdJZLdKZMdLZNdMZOdNS )OÚ
ErrorCodesr   r   r   r   r<   r=   r>   r?   rR   rS   r   r   r   r   r   r   r   r   é   rT   r   r   r   rU   rV   r   r   r   r    r!   rW   r   é!   é"   é#   é$   é%   é&   é'   é(   rX   é*   é,   é-   é.   é/   é0   é1   é2   é3   é4   é<   é=   é>   é?   r¨   r©   rª   éC   éD   éE   éF   éG   éH   éI   éJ   éK   éL   éM   éN   éO   éP   éQ   éZ   é[   é\   é]   N)Pr#   r$   r%   ÚKDC_ERR_NONEÚKDC_ERR_NAME_EXPÚKDC_ERR_SERVICE_EXPÚKDC_ERR_BAD_PVNOÚKDC_ERR_C_OLD_MAST_KVNOÚKDC_ERR_S_OLD_MAST_KVNOÚKDC_ERR_C_PRINCIPAL_UNKNOWNÚKDC_ERR_S_PRINCIPAL_UNKNOWNÚKDC_ERR_PRINCIPAL_NOT_UNIQUEÚKDC_ERR_NULL_KEYÚKDC_ERR_CANNOT_POSTDATEÚKDC_ERR_NEVER_VALIDÚKDC_ERR_POLICYÚKDC_ERR_BADOPTIONÚKDC_ERR_ETYPE_NOSUPPÚKDC_ERR_SUMTYPE_NOSUPPÚKDC_ERR_PADATA_TYPE_NOSUPPÚKDC_ERR_TRTYPE_NOSUPPÚKDC_ERR_CLIENT_REVOKEDÚKDC_ERR_SERVICE_REVOKEDÚKDC_ERR_TGT_REVOKEDÚKDC_ERR_CLIENT_NOTYETÚKDC_ERR_SERVICE_NOTYETÚKDC_ERR_KEY_EXPIREDÚKDC_ERR_PREAUTH_FAILEDÚKDC_ERR_PREAUTH_REQUIREDÚKDC_ERR_SERVER_NOMATCHÚKDC_ERR_MUST_USE_USER2USERÚKDC_ERR_PATH_NOT_ACCEPTEDÚKDC_ERR_SVC_UNAVAILABLEÚKRB_AP_ERR_BAD_INTEGRITYÚKRB_AP_ERR_TKT_EXPIREDÚKRB_AP_ERR_TKT_NYVÚKRB_AP_ERR_REPEATÚKRB_AP_ERR_NOT_USÚKRB_AP_ERR_BADMATCHÚKRB_AP_ERR_SKEWÚKRB_AP_ERR_BADADDRÚKRB_AP_ERR_BADVERSIONÚKRB_AP_ERR_MSG_TYPEÚKRB_AP_ERR_MODIFIEDÚKRB_AP_ERR_BADORDERÚKRB_AP_ERR_BADKEYVERÚKRB_AP_ERR_NOKEYÚKRB_AP_ERR_MUT_FAILÚKRB_AP_ERR_BADDIRECTIONÚKRB_AP_ERR_METHODÚKRB_AP_ERR_BADSEQÚKRB_AP_ERR_INAPP_CKSUMÚKRB_AP_PATH_NOT_ACCEPTEDÚKRB_ERR_RESPONSE_TOO_BIGÚKRB_ERR_GENERICÚKRB_ERR_FIELD_TOOLONGÚKDC_ERROR_CLIENT_NOT_TRUSTEDÚKDC_ERROR_KDC_NOT_TRUSTEDÚKDC_ERROR_INVALID_SIGÚKDC_ERR_KEY_TOO_WEAKÚKDC_ERR_CERTIFICATE_MISMATCHÚKRB_AP_ERR_NO_TGTÚKDC_ERR_WRONG_REALMÚ KRB_AP_ERR_USER_TO_USER_REQUIREDÚKDC_ERR_CANT_VERIFY_CERTIFICATEÚKDC_ERR_INVALID_CERTIFICATEÚKDC_ERR_REVOKED_CERTIFICATEÚ!KDC_ERR_REVOCATION_STATUS_UNKNOWNÚ%KDC_ERR_REVOCATION_STATUS_UNAVAILABLEÚKDC_ERR_CLIENT_NAME_MISMATCHÚKDC_ERR_KDC_NAME_MISMATCHÚ KDC_ERR_INCONSISTENT_KEY_PURPOSEÚ#KDC_ERR_DIGEST_IN_CERT_NOT_ACCEPTEDÚ$KDC_ERR_PA_CHECKSUM_MUST_BE_INCLUDEDÚ*KDC_ERR_DIGEST_IN_SIGNED_DATA_NOT_ACCEPTEDÚ+KDC_ERR_PUBLIC_KEY_ENCRYPTION_NOT_SUPPORTEDÚKDC_ERR_PREAUTH_EXPIREDÚ"KDC_ERR_MORE_PREAUTH_DATA_REQUIREDÚ&KDC_ERR_PREAUTH_BAD_AUTHENTICATION_SETÚ%KDC_ERR_UNKNOWN_CRITICAL_FAST_OPTIONSr   r   r   r   rÖ   Æ   sœ    rÖ   )r  zNo errorr   )r  z&Client's entry in database has expiredr   )r  z&Server's entry in database has expiredr   )r  z/Requested protocol version number not supportedr<   )r  z(Client's key encrypted in old master keyr=   )r  z(Server's key encrypted in old master keyr>   )r  z%Client not found in Kerberos databaser?   )r  z%Server not found in Kerberos databaserR   )r	  z&Multiple principal entries in databaserS   )r
  z#The client or server has a null keyr   )r  z"Ticket not eligible for postdatingr   )r  z*Requested starttime is later than end timer   )r  zKDC policy rejects requestr   )r  z'KDC cannot accommodate requested optionr   )r  z&KDC has no support for encryption typer   )r  z$KDC has no support for checksum type)r  z"KDC has no support for padata type)r  z%KDC has no support for transited typer×   )r  z%Clients credentials have been revokedrT   )r  z(Credentials for server have been revokedr   )r  zTGT has been revokedr   )r  z%Client not yet valid; try again laterr   )r  z%Server not yet valid; try again laterrU   )r  z.Password has expired; change password to resetrV   )r  z*Pre-authentication information was invalidr   )r  z&Additional pre-authentication requiredr   )r  z'Requested server and ticket don't matchr   )r  z)Server principal valid for user2user onlyr    )r  z!KDC Policy rejects transited pathr!   )r  zA service is not availablerW   )r  z)Integrity check on decrypted field failedr   )r   zTicket expiredrØ   )r!  zTicket not yet validrÙ   )r"  zRequest is a replayrÚ   )r#  zThe ticket isn't for usrÛ   )r$  z$Ticket and authenticator don't matchrÜ   )r%  zClock skew too greatrÝ   )r&  zIncorrect net addressrÞ   )r'  zProtocol version mismatchrß   )r(  zInvalid msg typerX   )r)  zMessage stream modifiedrà   )r*  zMessage out of orderrá   )r+  z)Specified version of key is not availablerâ   )r,  zService key not availablerã   )r-  zMutual authentication failedrä   )r.  zIncorrect message directionrå   )r/  z*Alternative authentication method requiredræ   )r0  z$Incorrect sequence number in messagerç   )r1  z)Inappropriate type of checksum in messagerè   )r2  zPolicy rejects transited pathré   )r3  z(Response too big for UDP; retry with TCPrê   )r4  z%Generic error (description in e-text)rë   )r5  z)Field is too long for this implementationrì   )r6  úReserved for PKINITrí   )r7  rN  r¨   )r8  rN  r©   )r9  rN  rª   )r:  rN  rî   )r;  z)No TGT available to validate USER-TO-USERrï   )r<  zReserved for future userð   )r=  zTicket must be for USER-TO-USERrñ   )r>  rN  rò   )r?  rN  ró   )r@  rN  rô   )rA  rN  rõ   )rB  rN  rö   )rC  rN  r÷   )rD  rN  )rE  z;Certificate cannot be used for PKINIT client authentication)rF  zSDigest algorithm for the public key in the certificate is not acceptable by the KDC)rG  z2The paChecksum filed in the request is not present)rH  zPThe digest algorithm used by the id-pkinit-authData is not acceptable by the KDC)rI  zFThe KDC does not support the public key encryption key delivery method)rJ  zPre-authentication has expired)rK  z.Additional pre-authentication data is required)rL  z@KDC cannot accommodate requested pre-authentication data element)rM  zUnknown critical option)	rø   rù   rú   rû   rü   rý   rþ   rÿ   r   c                   @   sL   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdS )ÚTicketFlagsr   r   r   r   r<   r=   r>   r?   rR   rS   r   r   r   r   r   r   N)r#   r$   r%   ÚreservedÚforwardableÚ	forwardedÚ	proxiableÚproxyÚmay_postdateÚ	postdatedÚinvalidÚ	renewableÚinitialÚpre_authentÚ
hw_authentÚtransited_policy_checkedÚok_as_delegateÚ
enc_pa_repÚ	anonymousr   r   r   r   rO  Œ  s"    rO  c                   @   ó`   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdS )Ú
KDCOptionsr   r   r   r   r<   r=   r>   r?   rR   rS   r   r   r   r   r   r   r   r   r    r"   rW   N)r#   r$   r%   rP  rQ  rR  rS  rT  Úallow_postdaterV  Úunused7rX  Úunused9Úunused10Úopt_hardware_authÚunused12Úunused13Úcname_in_addl_tktÚcanonicalizeÚdisable_transited_checkÚrenewable_okÚenc_tkt_in_skeyÚrenewÚvalidater   r   r   r   ra  ž  ó,    ra  c                   @   s   e Zd ZdZdZdZdS )Ú	APOptionsr   r   r   N)r#   r$   r%   rP  Úuse_session_keyÚmutual_requiredr   r   r   r   rq  µ  s    rq  c                   @   s   e Zd ZdZdZdZdZdS )ÚPAPacOptionsr   r   r   r   N)r#   r$   r%   ÚclaimsÚbranch_awareÚforward_to_full_dcÚ%resource_based_constrained_delegationr   r   r   r   rt  º  s
    rt  c                   @   r`  )ÚEncryptionTypesr   r   r   r<   r=   r>   r?   rS   r   r   r   r   r   r   r   r   r×   rU   rV   r©   iyÿÿÿN)r#   r$   r%   Údes_cbc_crcÚdes_cbc_md4Údes_cbc_md5Ú_reserved_4Údes3_cbc_md5Ú_reserved_6Údes3_cbc_sha1ÚdsaWithSHA1_CmsOIDÚmd5WithRSAEncryption_CmsOIDÚsha1WithRSAEncryption_CmsOIDÚrc2CBC_EnvOIDÚrsaEncryption_EnvOIDÚrsaES_OAEP_ENV_OIDÚdes_ede3_cbc_Env_OIDÚdes3_cbc_sha1_kdÚaes128_cts_hmac_sha1_96Úaes256_cts_hmac_sha1_96Úrc4_hmacÚrc4_hmac_expÚsubkey_keymaterialÚrc4_hmac_old_expr   r   r   r   ry  Â  rp  ry  c                   @   s$   e Zd ZdZdZdZdZdZdZdS )ÚChecksumTypesrR   r<   ivÿÿÿr   r   r   N)	r#   r$   r%   Úrsa_md5_desÚrsa_md4_desÚhmac_md5Úhmac_sha1_des3_kdÚhmac_sha1_96_aes128Úhmac_sha1_96_aes256r   r   r   r   r�  Ù  s    r�  N)Úimpacket.dcerpc.v5.enumr   r   r   r;   rQ   r�   ÚKERB_NON_KERB_SALTÚKERB_NON_KERB_CKSUM_SALTr§   r¹   r¼   r¾   rÇ   rÖ   ÚERROR_MESSAGESrO  ra  rq  rt  ry  r�  r   r   r   r   Ú<module>   sN  1vÿþýüûúùø	÷
öõôóòñðïîíìëêéèçæåäãâá à!ß"Þ#Ý$Ü%Û&Ú'Ù(Ø)×*Ö+Õ,Ô-Ó.Ò/Ñ0Ð1Ï2Î3Í4Ì5Ë6Ê7É8È9Ç:Æ;Å<Ä=Ã>Â?Á@ÀA¿B¾C½D¼E³P