HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //lib/python3/dist-packages/samba/tests/__pycache__/password_hash_fl2003.cpython-310.pyc
o

�/aY�@sLdZddlmZmZmZddlmZddlmZddl	Z	Gdd�de�Z
dS)aK
Tests for source4/dsdb/samdb/ldb_modules/password_hash.c

These tests need to be run in an environment in which
io->ac->gpg_key_ids == NULL, so that the gpg supplemental credentials
are not generated. And also need to be in an environment with a
functional level less than 2008 to ensure the kerberos newer keys are not
generated
�)�PassWordHashTests�get_package�	USER_PASS)�
ndr_unpack)�drsblobsNcs<eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�ZS)�PassWordHashFl2003Testscstt|���dS)N)�superr�setUp)�self��	__class__��B/usr/lib/python3/dist-packages/samba/tests/password_hash_fl2003.pyr	)szPassWordHashFl2003Tests.setUpcCs�|jdgd�|��}t|jj�}|�d|�t|d�\}}|�d|�|�d|j�t|d�\}}|�d|�|�d|j�t|d�\}}|�d|�|�d|j�tt	j
t�|j
��}|�|�dS)	N��"password hash userPassword schemes���options��Primary:Kerberos��Packages��Primary:WDigest)�add_user�get_supplemental_creds�len�sub�packages�assertEqualr�namerr�package_PrimaryWDigestBlob�binascii�a2b_hex�data�check_wdigests)r
�sc�size�pos�package�digestsr
r
r�$test_default_supplementalCredentials,s"
�z<PassWordHashFl2003Tests.test_default_supplementalCredentialsc	Cs"|jdgd�|��}t|jj�}|�d|�t|d�\}}|�d|�|�d|j�t|d�\}}|�d|�|�d|j�t|d�\}}|�d	|�|�d|j�t|d
�\}}|�d|�|�d
|j�tt	j
t�|j
��}|�|�tt	jt�|j
��}|�|dg�|�t|jj�dS)N)r�CryptSHA256r�rrrrrr�Primary:userPassword)�{CRYPT}�5N)rrrrrrrr rrr!r"r#r$r%�package_PrimaryUserPasswordBlob�checkUserPassword�checkNtHashr�current_nt_hash�hash)	r
r&r'r(r)�
wd_package�
up_packager*�upr
r
r�test_userPassword_sha256Hs2
�

�z0PassWordHashFl2003Tests.test_userPassword_sha256c	Cs|jddgd�|��}t|jj�}|�d|�t|d�\}}|�d|�|�d|j�t|d�\}}|�d|�|�d|j�t|d	�\}}|�d
|�|�d	|j�t|d�\}}|�d|�|�d|j�tt	j
t�|j
��}|�|�tt	jt�|j
��}|�t�d�|j�dS)
NTr��
clear_textrr-rrrrrr�Primary:CLEARTEXT�	utf-16-le)rrrrrrrr rrr!r"r#r$r%�package_PrimaryCLEARTEXTBlobr�encode�	cleartext)	r
r&r'r(r)r6�
ct_packager*�ctr
r
r�&test_supplementalCredentials_cleartextqs4�
�

�z>PassWordHashFl2003Tests.test_supplementalCredentials_cleartextcCst|jddgd�|��}t|jj�}|�d|�t|d�\}}|�d|�|�d|j�t|d�\}}|�d|�|�d|j�t|d	�\}}|�d
|�|�d	|j�t|d�\}}|�d|�|�d|j�t|d
�\}}|�d|�|�d
|j�tt	j
t�|j
��}|�|�tt	jt�|j
��}	|�t�d�|	j�tt	jt�|j
��}
|�|
dg�|�t|
jj�dS)NT)rzCryptSHA512:rounds=10000r:�rrrrr<rrr-r.r=)r/�6i')rrrrrrrr rrr!r"r#r$r%r>rr?r@r1r2r3r4r5)r
r&r'r(r)r6rAr7r*rBr8r
r
r�"test_userPassword_cleartext_sha512�sD�
�

�
�z:PassWordHashFl2003Tests.test_userPassword_cleartext_sha512)	�__name__�
__module__�__qualname__r	r+r9rCrF�
__classcell__r
r
rrr's)&r)�__doc__�samba.tests.password_hashrrr�	samba.ndrr�samba.dcerpcrr"rr
r
r
r�<module>s