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_fl2008.cpython-310.pyc
o

�/a��@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 of 2008 or greater to ensure the kerberos newer keys are
generated
�)�PassWordHashTests�get_package�	USER_PASS)�
ndr_unpack)�drsblobsNcs<eZdZ�fdd�Zdd�Zdd�Zdd�Zd	d
�Z�ZS)�PassWordHashFl2008Testscstt|���dS)N)�superr�setUp)�self��	__class__��B/usr/lib/python3/dist-packages/samba/tests/password_hash_fl2008.pyr	(szPassWordHashFl2008Tests.setUpcCs�|��|��}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
��}|�|�dS)	N��Primary:Kerberos-Newer-Keys��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<PassWordHashFl2008Tests.test_default_supplementalCredentialsc	CsJ|jdgd�|��}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
��}|�|d
g�|�t|jj�dS)N)�"password hash userPassword schemes�CryptSHA512)�options�rrrrrrrr�Primary:userPassword)�{CRYPT}�6N)rrrrrrrrrrrrr r!r"�package_PrimaryUserPasswordBlob�checkUserPassword�checkNtHashr�current_nt_hash�hash)	r
r#r$r%r&�
wp_package�
up_packager'�upr
r
r�test_userPassword_sha512Js8
�

�z0PassWordHashFl2008Tests.test_userPassword_sha512c	Cs>|jdd�|��}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�dS)NT)�
clear_textr,rrrrrrrr�Primary:CLEARTEXT�	utf-16-le)rrrrrrrrrrrrr r!r"�package_PrimaryCLEARTEXTBlobr�encode�	cleartext)	r
r#r$r%r&�
wd_package�
ct_packager'�ctr
r
r�&test_supplementalCredentials_cleartextvs6
�

�z>PassWordHashFl2008Tests.test_supplementalCredentials_cleartextcCs�|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�t|d�\}}|�d|�|�d|j�tt	j
t�|j
��}|�|�tt	jt�|j
��}	|�t�d�|	j�tt	jt�|j
��}
|�|
dg�|�t|
jj�dS)NT)r)zCryptSHA256:rounds=5000)r9r+�rrrrrrr:rrr,r-r;)r.�5i�)rrrrrrrrrrrrr r!r"r<rr=r>r0r1r2r3r4)r
r#r$r%r&r?r@r6r'rAr7r
r
r�"test_userPassword_cleartext_sha256�sJ�
�

�
�z:PassWordHashFl2008Tests.test_userPassword_cleartext_sha256)	�__name__�
__module__�__qualname__r	r(r8rBrE�
__classcell__r
r
rrr&s,(r)�__doc__�samba.tests.password_hashrrr�	samba.ndrr�samba.dcerpcrrrr
r
r
r�<module>s