o
    �õ±j  ã                   @   sò  d dl mZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZm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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 d0d1„ d1ejƒZ*G d2d3„ d3ejƒZ+G d4d5„ d5ejƒZ,d6S )7é    )Úcore)ÚPublicKeyInfo)ÚAlgorithmIdentifier)ÚEncryptionKeyÚChecksumÚKerberosTimeÚPrincipalNameÚRealmÚexplicité   é   c                   @   s   e Zd ZdS )ÚDHNonceN)Ú__name__Ú
__module__Ú__qualname__© r   r   ú�/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/minikerberos/protocol/rfc4556.pyr      s    r   c                   @   ó   e Zd ZeZdS )ÚAlgorithmIdentifiersN©r   r   r   r   Ú_child_specr   r   r   r   r      ó    r   c                   @   r   )ÚTD_DH_PARAMETERSNr   r   r   r   r   r      r   r   c                   @   s<   e Zd Zdeeddœfdeeddœfdeeddd	œfgZd
S )ÚReplyKeyPackÚreplyKeyr   ©Útag_typeÚtagÚ
asChecksumr   ÚdhKeyExpirationr   T©r   r   ÚoptionalN)r   r   r   r   ÚTAGr   r   Ú_fieldsr   r   r   r   r      s
    ýr   c                   @   s@   e Zd Zdejeddœfdejeddœfdeeddd	œfgZd
S )ÚKDCDHKeyInfoÚsubjectPublicKeyr   r   Únoncer   r   r   Tr    N)	r   r   r   r   Ú	BitStringr"   ÚIntegerr   r#   r   r   r   r   r$   "   s
    ýr$   c                   @   s0   e Zd ZdejdddœfdeedddœfgZd	S )
Ú	DHRepInfoÚdhSignedDataÚimplicitr   r   ÚserverDHNoncer   Tr    N)r   r   r   r   ÚOctetStringr   r"   r#   r   r   r   r   r)   )   s    þr)   c                   @   s2   e Zd ZdededfifdejdedfifgZdS )ÚPA_PK_AS_REPÚdhInfor
   r   Ú
encKeyPackr+   r   N)r   r   r   r)   ÚCONTEXTr   r-   Ú_alternativesr   r   r   r   r.   0   s    þr.   c                   @   sF   e Zd Zdejddddœfdejddddœfdejdd	ddœfgZd
S )ÚExternalPrincipalIdentifierÚsubjectNamer+   r   Tr    ÚissuerAndSerialNumberr   ÚsubjectKeyIdentifierr   N©r   r   r   r   r-   r#   r   r   r   r   r3   6   s
    ýr3   c                   @   r   )ÚExternalPrincipalIdentifiersN©r   r   r   r3   r   r   r   r   r   r8   =   r   r8   c                   @   r   )ÚAD_INITIAL_VERIFIED_CASNr9   r   r   r   r   r:   @   r   r:   c                   @   ó,   e Zd ZdeeddœfdeeddœfgZdS )ÚKRB5PrincipalNameÚrealmr   r   ÚprincipalNamer   N)r   r   r   r	   r"   r   r#   r   r   r   r   r<   C   ó    þr<   c                   @   r   )ÚTD_INVALID_CERTIFICATESNr9   r   r   r   r   r@   I   r   r@   c                   @   r   )ÚTD_TRUSTED_CERTIFIERSNr9   r   r   r   r   rA   L   r   rA   c                	   @   sP   e Zd Zdejeddœfdeeddœfdejeddœfdejed	d
dœfgZdS )ÚPKAuthenticatorÚcusecr   r   Úctimer   r&   r   Ú
paChecksumé   Tr    N)	r   r   r   r   r(   r"   r   r-   r#   r   r   r   r   rB   O   s    ürB   c                	   @   sN   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gZdS )ÚAuthPackÚpkAuthenticatorr   r   ÚclientPublicValuer   Tr    ÚsupportedCMSTypesr   ÚclientDHNoncerF   N)	r   r   r   rB   r"   ÚSubjectPublicKeyInfor   r   r#   r   r   r   r   rG   W   s    ürG   c                   @   sB   e Zd Zdejdddœfdeedddœfd	ejdd
ddœfgZdS )ÚPA_PK_AS_REQÚsignedAuthPackr+   r   r   ÚtrustedCertifiersr   Tr    ÚkdcPkIdr   N)r   r   r   r   r-   r8   r"   r#   r   r   r   r   rM   `   s
    ýrM   c                   @   s    e Zd ZdejfdejfgZdS )ÚNameTypeAndValueBMPÚtypeÚvalueN)r   r   r   r   ÚObjectIdentifierÚ	BMPStringr#   r   r   r   r   rQ   j   s    þrQ   c                   @   r   )ÚDunno1N)r   r   r   rQ   r   r   r   r   r   rV   p   r   rV   c                   @   r   )ÚDunno2N)r   r   r   rV   r   r   r   r   r   rW   s   r   rW   c                   @   s.   e Zd ZdejeddœfdeeddœfgZdS )ÚInfoÚpku2ur   r   Ú
clientInfor   N)r   r   r   r   ÚGeneralStringr"   r   r#   r   r   r   r   rX   v   s    þrX   c                   @   s    e Zd ZdejdddœfgZdS )Ú
CertIssuerÚdatar+   r   r   Nr7   r   r   r   r   r\   |   s    ÿr\   c                   @   r   )ÚCertIssuersN)r   r   r   r\   r   r   r   r   r   r^   �   r   r^   c                   @   r;   )ÚMetaDataÚ1r   r   rX   r   N)r   r   r   r^   r"   rX   r#   r   r   r   r   r_   „   r?   r_   N)-Ú
asn1cryptor   Úasn1crypto.keysr   rL   Úasn1crypto.x509r   Ú"minikerberos.protocol.asn1_structsr   r   r   r   r	   r"   Ú	UNIVERSALÚAPPLICATIONr1   r-   r   Ú
SequenceOfr   r   ÚSequencer   r$   r)   ÚChoicer.   r3   r8   r:   r<   r@   rA   rB   rG   rM   rQ   ÚSetOfrV   rW   rX   r\   r^   r_   r   r   r   r   Ú<module>   s>    	
