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>    	
