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dddddddddddddddddddddddddddddddddddddddd	ZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZdS )    )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   iyN)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<   ivr   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