o
    àý°jà\  ã                   @   s   d dl mZmZmZmZmZmZ ddlmZ dd„ Z	d dd„Z
d	d
„ Zdd„ Zdd„ Zd¡dd„Zdd„ Zdd„ Zdd„ Zd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ƒ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 d0d1„ d1ej#ƒZ$G d2d3„ d3ejƒZ%G d4d5„ d5ejƒZ&G d6d7„ d7ejƒZ'G d8d9„ d9ejƒZ(G d:d;„ d;e$ƒZ)G d<d=„ d=ejƒZ*G d>d?„ d?ejƒZ+G d@dA„ dAe$ƒZ,G dBdC„ dCejƒZ-G dDdE„ dEejƒZ.G dFdG„ dGe.ƒZ/G dHdI„ dIe.ƒZ0G dJdK„ dKejƒZ1G dLdM„ dMejƒZ2G dNdO„ dOejƒZ3G dPdQ„ dQejƒZ4G dRdS„ dSe4ƒZ5G dTdU„ dUe4ƒZ6G dVdW„ dWe1ƒZ7G dXdY„ dYe1ƒZ8G dZd[„ d[e$ƒZ9G d\d]„ d]ejƒZ:G d^d_„ d_ejƒZ;G d`da„ daejƒZ<G dbdc„ dcejƒZ=G ddde„ deejƒZ>G dfdg„ dgejƒZ?G dhdi„ diejƒZ@G djdk„ dkejƒZAG dldm„ dmejƒZBG dndo„ doejƒZCG dpdq„ dqejƒZDG drds„ dsejƒZEG dtdu„ duejƒZFG dvdw„ dwejƒZGG dxdy„ dye%ƒZHG dzd{„ d{ejƒZIG d|d}„ d}ejƒZJG d~d„ dejƒZKG d€d�„ d�ejƒZLG d‚dƒ„ dƒejƒZMG d„d…„ d…e!ƒZNG d†d‡„ d‡ejƒZOG dˆd‰„ d‰ejƒZPG dŠd‹„ d‹e!ƒZQG dŒd�„ d�ejƒZRG dŽd�„ d�ejƒZSG d�d‘„ d‘ejƒZTG d’d“„ d“ejƒZUG d”d•„ d•ejƒ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[dS )¢é    )ÚtagÚ	namedtypeÚunivÚ
constraintÚcharÚusefulé   )Ú	constantsc                 C   s    t jj t tjtjt| ƒ¡¡S ©N)	r   ÚSequenceÚtagSetÚtagExplicitlyr   ÚTagÚtagClassApplicationÚtagFormatConstructedÚint)Ú	tag_value© r   ú…/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/krb5/asn1.pyÚ_application_tag4   s
   ÿÿr   Úpvnoc                 C   s   t || t ¡ t dd¡d�S )Né   ©ÚsubtypeSpec)Ú_sequence_componentr   ÚIntegerr   ÚValueRangeConstraint)r   Únamer   r   r   Ú_vno_component9   s   

þr   c                 C   s(   t jdd„ |D ƒŽ }td| t ¡ |d�S )Nc                 s   s   � | ]
}t  t|ƒ¡V  qd S r
   )r   ÚSingleValueConstraintr   )Ú.0Úvr   r   r   Ú	<genexpr>@   s   € z&_msg_type_component.<locals>.<genexpr>zmsg-typer   )r   ÚConstraintsUnionr   r   r   )r   ÚvaluesÚcr   r   r   Ú_msg_type_component>   s   ÿÿr&   c                 K   ó*   t  | |jddt tjtj|¡i|¤Ž¡S ©NÚexplicitTagr   )r   Ú	NamedTypeÚsubtyper   r   ÚtagClassContextÚtagFormatSimple©r   r   ÚtypeÚ	subkwargsr   r   r   r   D   ó   ÿÿýr   c                 K   r'   r(   )r   ÚOptionalNamedTyper+   r   r   r,   r-   r.   r   r   r   Ú_sequence_optional_componentJ   r1   r3   Nc                 O   sL   |   |¡ |¡}|d ur|   |||g|¢R i |¤Ž¡ n|   |¡ |  |¡S r
   )ÚsetComponentByNameÚgetComponentByName)Úseqr   ÚbuilderÚargsÚkwargsÚ	componentr   r   r   Úseq_setP   s
    

r;   c                 O   s2   |   |¡ |¡}| ¡ D ]
\}}|  ||¡ qd S r
   )r4   r5   Úitems)r6   r   Úpairsr8   r9   r:   Úkr!   r   r   r   Úseq_set_dictX   ó   ÿr?   c                 C   s2   |   |¡ |¡}t|ƒD ]
\}}| ||¡ qd S r
   )r4   r5   Ú	enumerateÚsetComponentByPosition)r6   r   Úiterabler:   Úposr!   r   r   r   Úseq_set_iter]   r@   rE   c                 C   s   t | ||jƒ d S r
   )r;   Úto_asn1)r6   r   Úflagsr   r   r   Úseq_set_flagsb   s   rH   c                 C   s\   |   |¡}|d u r|  |¡  |¡}t|ƒ}| |¡ |¡}| ¡ D ]
\}}| ||¡ q!d S r
   )r5   r4   ÚlenrB   ÚgetComponentByPositionr<   )r6   r   r=   r:   ÚindexÚelementr>   r!   r   r   r   Ú
seq_appende   s   
ÿÿrM   c                   @   ó    e Zd Zejje dd¡ ZdS )ÚInt32i   €iÿÿÿN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r   rO   o   ó    

ÿrO   c                   @   ó   e Zd ZdS )ÚUInt32N©rQ   rR   rS   r   r   r   r   rV   s   ó    rV   c                   @   rN   )ÚMicrosecondsr   i?B NrP   r   r   r   r   rY   x   rT   rY   c                   @   s   e Zd ZdZdS )ÚKerberosStringzutf-8N)rQ   rR   rS   Úencodingr   r   r   r   rZ   |   s    rZ   c                   @   rU   )ÚRealmNrW   r   r   r   r   r\   ‚   rX   r\   c                	   @   s4   e Zd Ze eddeƒ ƒeddeje	ƒ d�ƒ¡Z
dS )ÚPrincipalNamez	name-typer   zname-stringr   ©ÚcomponentTypeN)rQ   rR   rS   r   Ú
NamedTypesr   rO   r   Ú
SequenceOfrZ   r_   r   r   r   r   r]   …   s    ÿþr]   c                   @   rU   )ÚKerberosTimeNrW   r   r   r   r   rb   Œ   rX   rb   c                   @   ó.   e Zd Ze eddeƒ ƒedde ¡ ƒ¡Z	dS )ÚHostAddressz	addr-typer   Úaddressr   N©
rQ   rR   rS   r   r`   r   rO   r   ÚOctetStringr_   r   r   r   r   rd   �   ó
    þrd   c                   @   ó   e Zd Zeƒ ZdS )ÚHostAddressesN)rQ   rR   rS   rd   r_   r   r   r   r   rj   •   ó    
rj   c                	   @   s6   e Zd Zeje eddeƒ ƒedde 	¡ ƒ¡d�Z
dS )ÚAuthorizationDatazad-typer   zad-datar   r^   N)rQ   rR   rS   r   r   r   r`   r   rO   rg   r_   r   r   r   r   rl   ˜   s
    þrl   c                   @   rc   )ÚPA_DATAzpadata-typer   zpadata-valueé   Nrf   r   r   r   r   rm   ž   rh   rm   c                   @   rU   )ÚKerberosFlagsNrW   r   r   r   r   ro   ¤   s    ro   c                	   @   s:   e Zd Ze eddeƒ ƒeddeƒ ƒedde	 
¡ ƒ¡ZdS )ÚEncryptedDataÚetyper   Úkvnor   Úcipherrn   N)rQ   rR   rS   r   r`   r   rO   r3   rV   r   rg   r_   r   r   r   r   rp   ª   ó    ýrp   c                   @   rc   )ÚEncryptionKeyÚkeytyper   Úkeyvaluer   Nrf   r   r   r   r   ru   ±   rh   ru   c                   @   rc   )ÚChecksumÚ	cksumtyper   Úchecksumr   Nrf   r   r   r   r   rx   ¶   rh   rx   c                	   @   sP   e Zd ZeejjjƒZe	 
eddd�eddeƒ ƒeddeƒ ƒedd	eƒ ƒ¡Zd
S )ÚTicketztkt-vnor   ©r   r   Úrealmr   Úsnamern   úenc-parté   N)rQ   rR   rS   r   r	   ÚApplicationTagNumbersr{   Úvaluer   r   r`   r   r   r\   r]   rp   r_   r   r   r   r   r{   »   s    
ür{   c                   @   rU   )ÚTicketFlagsNrW   r   r   r   r   rƒ   Ä   rX   rƒ   c                   @   rc   )ÚTransitedEncodingztr-typer   Úcontentsr   Nrf   r   r   r   r   r„   Ç   rh   r„   c                   @   s¦   e Zd ZeejjjƒZe	 
eddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒed	d
eƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒ¡ZdS )ÚEncTicketPartrG   r   Úkeyr   Úcrealmrn   Úcnamer€   Ú	transitedé   Úauthtimer   Ú	starttimeé   Úendtimeé   ú
renew-tillé   Úcaddré	   úauthorization-dataé
   N)rQ   rR   rS   r   r	   r�   r†   r‚   r   r   r`   r   rƒ   ru   r\   r]   r„   rb   r3   rj   rl   r_   r   r   r   r   r†   Ì   s    õr†   c                   @   rU   )Ú
KDCOptionsNrW   r   r   r   r   r—   Ü   rX   r—   c                   @   s´   e Zd Ze eddeƒ ƒeddeƒ ƒedde	ƒ ƒeddeƒ ƒed	d
e
ƒ ƒedde
ƒ ƒedde
ƒ ƒeddeƒ ƒeddejeƒ d�ƒeddeƒ ƒeddeƒ ƒeddejeƒ d�ƒ¡ZdS )ÚKDC_REQ_BODYzkdc-optionsr   r‰   r   r}   rn   r~   r€   Úfromr‹   Útillr   ÚrtimerŽ   Únoncer�   rq   r’   r^   Ú	addressesr”   zenc-authorization-datar–   zadditional-ticketsé   N)rQ   rR   rS   r   r`   r   r—   r3   r]   r\   rb   rV   r   ra   rO   rj   rp   r{   r_   r   r   r   r   r˜   ß   s*    ÿÿÿòr˜   c                
   @   sR   e Zd Ze edƒedejj	j
ejjj
fƒeddejeƒ d�ƒeddeƒ ƒ¡ZdS )	ÚKDC_REQr   rn   Úpadatar€   r^   zreq-bodyr‹   N)rQ   rR   rS   r   r`   r   r&   r	   r�   ÚAS_REQr‚   ÚTGS_REQr3   r   ra   rm   r   r˜   r_   r   r   r   r   rŸ   ò   s    ÿÿúrŸ   c                   @   ó   e Zd ZeejjjƒZdS )r¡   N)	rQ   rR   rS   r   r	   r�   r¡   r‚   r   r   r   r   r   r¡   ü   ó    r¡   c                   @   r£   )r¢   N)	rQ   rR   rS   r   r	   r�   r¢   r‚   r   r   r   r   r   r¢   ÿ   r¤   r¢   c                   @   sv   e Zd Ze edƒedejj	j
ejjj
fƒeddejeƒ d�ƒeddeƒ ƒedd	eƒ ƒed
deƒ ƒeddeƒ ƒ¡ZdS )ÚKDC_REPr   r   r    rn   r^   rˆ   r€   r‰   r‹   Úticketr   r   rŽ   N)rQ   rR   rS   r   r`   r   r&   r	   r�   ÚAS_REPr‚   ÚTGS_REPr3   r   ra   rm   r   r\   r]   r{   rp   r_   r   r   r   r   r¥     s    ÿÿ÷r¥   c                   @   s4   e Zd Zeje eddeƒ ƒedde	ƒ ƒ¡d�Z
dS )ÚLastReqzlr-typer   zlr-valuer   r^   N)rQ   rR   rS   r   r   r   r`   r   rO   rb   r_   r   r   r   r   r©     s
    þr©   c                   @   ri   )ÚMETHOD_DATAN)rQ   rR   rS   rm   r_   r   r   r   r   rª     rk   rª   c                   @   s°   e Zd Ze eddeƒ ƒeddeƒ ƒeddeƒ ƒe	dde
ƒ ƒed	d
eƒ ƒedde
ƒ ƒe	dde
ƒ ƒedde
ƒ ƒe	dde
ƒ ƒeddeƒ ƒeddeƒ ƒe	ddeƒ ƒe	ddeƒ ƒ¡ZdS )ÚEncKDCRepPartr‡   r   zlast-reqr   rœ   rn   zkey-expirationr€   rG   r‹   rŒ   r   r�   rŽ   r�   r�   r‘   r’   Úsrealmr”   r~   r–   r“   rž   Úencrypted_pa_dataé   N)rQ   rR   rS   r   r`   r   ru   r©   rV   r3   rb   rƒ   r\   r]   rj   rª   r_   r   r   r   r   r«     s     ór«   c                   @   r£   )ÚEncASRepPartN)	rQ   rR   rS   r   r	   r�   r¯   r‚   r   r   r   r   r   r¯   )  r¤   r¯   c                   @   r£   )ÚEncTGSRepPartN)	rQ   rR   rS   r   r	   r�   r°   r‚   r   r   r   r   r   r°   ,  r¤   r°   c                   @   r£   )r§   N)	rQ   rR   rS   r   r	   r�   r§   r‚   r   r   r   r   r   r§   /  r¤   r§   c                   @   r£   )r¨   N)	rQ   rR   rS   r   r	   r�   r¨   r‚   r   r   r   r   r   r¨   2  r¤   r¨   c                   @   rU   )Ú	APOptionsNrW   r   r   r   r   r±   5  rX   r±   c                   @   sŒ   e Zd ZeejjjƒZe	 
eddd�eddeƒ ƒeddeƒ ƒedd	eƒ ƒed
deƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒ¡	ZdS )ÚAuthenticatorzauthenticator-vnor   r|   rˆ   r   r‰   rn   Úcksumr€   Úcusecr‹   Úctimer   ÚsubkeyrŽ   ú
seq-numberr�   r•   r’   N)rQ   rR   rS   r   r	   r�   r²   r‚   r   r   r`   r   r   r\   r]   r3   rx   rY   rb   ru   rV   rl   r_   r   r   r   r   r²   8  s    
ÿ÷r²   c                
   @   s\   e Zd ZeejjjƒZe	 
edƒedejjjfƒeddeƒ ƒeddeƒ ƒeddeƒ ƒ¡Zd	S )
ÚAP_REQr   r   z
ap-optionsrn   r¦   r€   Úauthenticatorr‹   N)rQ   rR   rS   r   r	   r�   r¸   r‚   r   r   r`   r   r&   r   r±   r{   rp   r_   r   r   r   r   r¸   G  s    ûr¸   c                   @   sX   e Zd Zejj e ej	ej
d¡¡Ze e de ¡ ¡e de ¡ ¡e deƒ ¡¡ZdS )ÚGSSAPIHeader_KRB5_AP_REQr   ÚtokenOidÚkrb5_ap_reqÚapReqN)rQ   rR   rS   r   r   r   ÚtagImplicitlyr   r   r   r   r   r`   r*   ÚObjectIdentifierÚBooleanr¸   r_   r   r   r   r   rº   Q  s    ürº   c                   @   óD   e Zd ZeejjjƒZe	 
edƒedejjjfƒeddeƒ ƒ¡ZdS )ÚAP_REPr   r   r   rn   N)rQ   rR   rS   r   r	   r�   rÂ   r‚   r   r   r`   r   r&   r   rp   r_   r   r   r   r   rÂ   Z  ó    ýrÂ   c                	   @   sR   e Zd ZeejjjƒZe	 
eddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒ¡Zd	S )
ÚEncAPRepPartrµ   r   r´   r   r¶   rn   r·   r€   N)rQ   rR   rS   r   r	   r�   ÚEncApRepPartr‚   r   r   r`   r   rb   rY   r3   ru   rV   r_   r   r   r   r   rÄ   b  s    ürÄ   c                   @   s^   e Zd Ze edde ¡ ƒedde	ƒ ƒedde
ƒ ƒeddeƒ ƒed	d
eƒ ƒeddeƒ ƒ¡ZdS )ÚKRB_SAFE_BODYú	user-datar   Ú	timestampr   Úusecrn   r·   r€   ú	s-addressr‹   ú	r-addressr   N)rQ   rR   rS   r   r`   r   r   rg   r3   rb   rY   rV   rd   r_   r   r   r   r   rÆ   k  s    úrÆ   c                	   @   sP   e Zd ZeejjjƒZe	 
edƒedejjjfƒeddeƒ ƒeddeƒ ƒ¡ZdS )ÚKRB_SAFEr   r   z	safe-bodyrn   r³   r€   N)rQ   rR   rS   r   r	   r�   rÌ   r‚   r   r   r`   r   r&   r   rÆ   rx   r_   r   r   r   r   rÌ   u  s    ürÌ   c                   @   rÁ   )ÚKRB_PRIVr   r   r   r€   N)rQ   rR   rS   r   r	   r�   rÍ   r‚   r   r   r`   r   r&   r   rp   r_   r   r   r   r   rÍ   ~  rÃ   rÍ   c                   @   sl   e Zd ZeejjjƒZe	 
edde ¡ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒed	d
eƒ ƒeddeƒ ƒ¡ZdS )ÚEncKrbPrivPartrÇ   r   rÈ   r   r´   rn   r·   r€   rÊ   r‹   rË   r   N)rQ   rR   rS   r   r	   r�   rÎ   r‚   r   r   r`   r   r   rg   r3   rb   rY   rV   rd   r_   r   r   r   r   rÎ   †  s    úrÎ   c                
   @   sX   e Zd ZeejjjƒZe	 
edƒedejjjfƒeddejeƒ d�ƒeddeƒ ƒ¡ZdS )	ÚKRB_CREDr   r   Úticketsrn   r^   r   r€   N)rQ   rR   rS   r   r	   r�   rÏ   r‚   r   r   r`   r   r&   r3   r   ra   r{   r   rp   r_   r   r   r   r   rÏ   ‘  s    ÿûrÏ   c                   @   s˜   e Zd Ze eddeƒ ƒeddeƒ ƒedde	ƒ ƒedde
ƒ ƒed	d
eƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒedde	ƒ ƒeddeƒ ƒ¡ZdS )ÚKrbCredInfor‡   r   Úprealmr   Úpnamern   rG   r€   rŒ   r‹   r�   r   r�   rŽ   r‘   r�   r¬   r’   r~   r”   r“   r–   N)rQ   rR   rS   r   r`   r   ru   r3   r\   r]   rƒ   rb   rj   r_   r   r   r   r   rÑ   ›  s    õrÑ   c                   @   sr   e Zd ZeejjjƒZe	 
eddejeƒ d�ƒeddeƒ ƒeddeƒ ƒedd	eƒ ƒed
deƒ ƒeddeƒ ƒ¡ZdS )ÚEncKrbCredPartzticket-infor   r^   rœ   r   rÈ   rn   rÉ   r€   rÊ   r‹   rË   r   N)rQ   rR   rS   r   r	   r�   rÔ   r‚   r   r   r`   r   r   ra   rÑ   r3   rV   rb   rY   rd   r_   r   r   r   r   rÔ   ª  s    úrÔ   c                   @   s¾   e Zd ZeejjjƒZe	 
edƒedejjjfƒeddeƒ ƒeddeƒ ƒeddeƒ ƒed	d
eƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒeddeƒ ƒedde ¡ ƒ¡ZdS )Ú	KRB_ERRORr   r   rµ   rn   r´   r€   Ústimer‹   Úsusecr   z
error-coderŽ   rˆ   r�   r‰   r’   r}   r”   r~   r–   ze-textrž   ze-datar®   N)rQ   rR   rS   r   r	   r�   rÕ   r‚   r   r   r`   r   r&   r3   rb   rY   r   rO   r\   r]   rZ   r   rg   r_   r   r   r   r   rÕ   µ  s"    órÕ   c                   @   ó.   e Zd Ze eddeƒ ƒedde 	¡ ƒ¡Z
dS )Ú
TYPED_DATAú	data-typer   ú
data-valuer   N©rQ   rR   rS   r   r`   r   rO   r3   r   rg   r_   r   r   r   r   rÙ   Ç  rh   rÙ   c                   @   rU   )ÚPA_ENC_TIMESTAMPNrW   r   r   r   r   rÝ   Í  rX   rÝ   c                   @   ó,   e Zd Ze eddeƒ ƒeddeƒ ƒ¡Z	dS )ÚPA_ENC_TS_ENCÚpatimestampr   Úpausecr   N)
rQ   rR   rS   r   r`   r   rb   r3   rY   r_   r   r   r   r   rß   Ð  ó
    þrß   c                   @   rØ   )ÚETYPE_INFO_ENTRYrq   r   Úsaltr   NrÜ   r   r   r   r   rã   Õ  rh   rã   c                   @   ri   )Ú
ETYPE_INFON)rQ   rR   rS   rã   r_   r   r   r   r   rå   Ú  rk   rå   c                	   @   s:   e Zd Ze eddeƒ ƒeddeƒ ƒedde	 
¡ ƒ¡ZdS )ÚETYPE_INFO2_ENTRYrq   r   rä   r   Ú	s2kparamsrn   N)rQ   rR   rS   r   r`   r   rO   r3   rZ   r   rg   r_   r   r   r   r   ræ   Ý  rt   ræ   c                   @   ri   )ÚETYPE_INFO2N)rQ   rR   rS   ræ   r_   r   r   r   r   rè   ã  rk   rè   c                   @   rU   )ÚAD_IF_RELEVANTNrW   r   r   r   r   ré   æ  rX   ré   c                	   @   sD   e Zd Ze eddeƒ ƒeddeƒ ƒedde	ƒ ƒedde
ƒ ƒ¡Zd	S )
ÚAD_KDCIssuedzad-checksumr   zi-realmr   zi-snamern   Úelementsr€   N)rQ   rR   rS   r   r`   r   rx   r3   r\   r]   rl   r_   r   r   r   r   rê   é  ó    ürê   c                   @   rÞ   )Ú	AD_AND_ORzcondition-countr   rë   r   N)
rQ   rR   rS   r   r`   r   rO   r3   rl   r_   r   r   r   r   rí   ð  râ   rí   c                   @   rU   )ÚAD_MANDATORY_FOR_KDCNrW   r   r   r   r   rî   õ  rX   rî   c                   @   s8   e Zd Ze e de ¡ je	 
e	je	jd¡d�¡¡ZdS )ÚKERB_PA_PAC_REQUESTzinclude-pacr   ©r)   N)rQ   rR   rS   r   r`   r*   r   rÀ   r+   r   r   r,   r-   r_   r   r   r   r   rï   ø  s    $ÿrï   c                	   @   sD   e Zd Ze eddeƒ ƒeddeƒ ƒedde	ƒ ƒedde
ƒ ƒ¡Zd	S )
ÚPA_FOR_USER_ENCÚuserNamer   Ú	userRealmr   r³   rn   zauth-packager€   N)rQ   rR   rS   r   r`   r   r]   r3   r\   rx   rZ   r_   r   r   r   r   rñ   ý  rì   rñ   c                   @   rc   )ÚKERB_ERROR_DATArÚ   r   rÛ   rn   Nrf   r   r   r   r   rô     rh   rô   c                   @   s    e Zd Ze eddeƒ ƒ¡ZdS )ÚPA_PAC_OPTIONSrG   r   N)rQ   rR   rS   r   r`   r   ro   r_   r   r   r   r   rõ   	  s    ÿrõ   c                   @   ri   )ÚKERB_KEY_LIST_REQN)rQ   rR   rS   rO   r_   r   r   r   r   rö     rk   rö   c                   @   ri   )ÚKERB_KEY_LIST_REPN)rQ   rR   rS   ru   r_   r   r   r   r   r÷     rk   r÷   c                   @   rÞ   )ÚKERB_SUPERSEDED_BY_USERr   r   ró   r   N)
rQ   rR   rS   r   r`   r   r]   r3   r\   r_   r   r   r   r   rø     râ   rø   c                
   @   sR   e Zd Ze eddeƒ ƒeddeƒ ƒedde	ƒ ƒedde
 ¡ ƒed	d
eƒ ƒ¡ZdS )Ú	S4UUserIDrœ   r   r‰   r   rˆ   rn   zsubject-certificater€   Úoptionsr‹   N)rQ   rR   rS   r   r`   r   rV   r]   r3   r\   r   rg   ro   r_   r   r   r   r   rù     s    ûrù   c                   @   sX   e Zd Ze e deƒ je 	ej
ejd¡d�¡e deƒ je 	ej
ejd¡d�¡¡ZdS )ÚPA_S4U_X509_USERzuser-idr   rð   rz   r   N)rQ   rR   rS   r   r`   r*   rù   r+   r   r   r,   r   rx   r_   r   r   r   r   rû   #  s
    ""þrû   c                
   @   sb   e Zd Ze eddejeƒ d�ƒe	ddejeƒ d�ƒedde
ƒ ƒe	dd	e ¡ ƒed
de
ƒ ƒ¡ZdS )ÚKERB_DMSA_KEY_PACKAGEzcurrent-keysr   r^   zprevious-keysr   zeffective-timern   Úreservedr€   zexpiration-timer‹   N)rQ   rR   rS   r   r`   r   r   ra   ru   r3   rb   rg   r_   r   r   r   r   rü   (  s    ûrü   )r   r
   )\Úpyasn1.typer   r   r   r   r   r   Ú r	   r   r   r&   r   r3   r;   r?   rE   rH   rM   r   rO   rV   rY   ÚGeneralStringrZ   r\   r   r]   ÚGeneralizedTimerb   rd   ra   rj   rl   rm   Ú	BitStringro   rp   ru   rx   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ã   rå   ræ   rè   ré   rê   rí   rî   rï   rñ   rô   rõ   rö   r÷   rø   rù   rû   rü   r   r   r   r   Ú<module>   sž    .


	

		
	
	