o
    j                     @   s6   d dl mZ d dlmZ d dlmZ G dd dZdS )    )Tuple)ISC_REQ)UniCredentialc                   @   s   e Zd ZdefddZdefddZdefddZd	ed
efddZ	d%d	ed
ede
eef fddZd&d	ededededef
ddZd	ededefddZdefddZdefddZdefddZd'ded ed!ed"efd#d$ZdS )(ClientAuthAlgo
credentialc                 C   s   d S N )selfr   r   r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/asyauth/common/clientauthalgo.py__init__   s   zClientAuthAlgo.__init__returnc                 C      t  )z%Returns the !INITIAL! sequence numberNotImplementedErrorr	   r   r   r
   get_seq_number      zClientAuthAlgo.get_seq_numberc                 C   r   )zReturns session key bytesr   r   r   r   r
   get_session_key   r   zClientAuthAlgo.get_session_keydatasequence_noc                       t  )zEncryptes messager   )r	   r   r   r   r   r
   encrypt      zClientAuthAlgo.encryptinitNc                    r   )z3Decrypts message. Also performs integrity checking.r   )r	   r   r   	direction	auth_datar   r   r
   decrypt   r   zClientAuthAlgo.decryptF
message_nor   reset_cipherc                    r   )z\Singing outgoing messages. The reset_cipher parameter is needed for calculating mechListMIC.r   )r	   r   r   r   r   r   r   r
   sign   r   zClientAuthAlgo.sign	signaturec                    r   )zVerifying message signaturer   )r	   r   r    r   r   r
   verify    r   zClientAuthAlgo.verifyc                 C   r   )z4Returns wether signing is negotiated for this clientr   r   r   r   r
   signing_needed$   r   zClientAuthAlgo.signing_neededc                 C   r   )z7Returns wether encryption is negotiated for this clientr   r   r   r   r
   encryption_needed(   r   z ClientAuthAlgo.encryption_neededc                 C   r   )zReturns the session key bytesr   r   r   r   r
   r   ,   r   authDataflagscb_dataspnc                    r   r   r   )r	   r$   r%   r&   r'   kwargsr   r   r
   authenticate0   s   zClientAuthAlgo.authenticate)r   N)NF)NNN)__name__
__module____qualname__r   r   intr   bytesr   r   r   	Exceptionr   strboolr   r!   r"   r#   r   r)   r   r   r   r
   r      s       r   N)typingr   asyauth.common.winapi.constantsr   asyauth.common.credentialsr   r   r   r   r   r
   <module>   s    