o
    5h                     @   s   d dl Z d dlmZ d dlT d dlmZ d dlmZm	Z	 G dd de j
ZG dd	 d	e j
ZG d
d de j
Zi fddZedkrMdd Ze jdd dS dS )    N)	unhexlify)*)list_test_cases)padunpadc                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )PKCS7_Testsc                 C   sj   t tdd}| |ttdk t tddd}| |ttdk t|d}| |tdk d S )N    04040404pkcs7r   b
assertTrueuhr   selfpaddedback r   u/var/www/html/construction_image-detection-poc/venv/lib/python3.10/site-packages/Crypto/SelfTest/Util/test_Padding.pytest1+   s   
zPKCS7_Tests.test1c                 C   L   t ttdd}| |ttdk t|d}| |ttdk d S )N12345678r	   1234567804040404r   r   r   r   r   r   r   r   r   test23      
zPKCS7_Tests.test2c                 C   r   )N123456r	   12345601r   r   r   r   r   test39   r   zPKCS7_Tests.test3c                 C   r   )N
1234567890r	   1234567890030303r   r   r   r   r   test4?   r   zPKCS7_Tests.test4c                 C   s   |  ttttddd d S )N12r	   pkcs8)assertRaises
ValueErrorr   r   r   r   r   r   r   testn1E   s   zPKCS7_Tests.testn1c                 C   s,   |  tttdd |  tttdd d S )Nz   r	   r   r%   r&   r   r   r'   r   r   r   testn2H   s   zPKCS7_Tests.testn2c                 C   s@   |  tttdd |  tttdd |  tttdd d S )N123456r	   123456 z123456r)   r'   r   r   r   testn3L   s   zPKCS7_Tests.testn3N)
__name__
__module____qualname__r   r   r   r"   r(   r*   r-   r   r   r   r   r   )   s    r   c                   @   4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )
X923_Testsc                 C   H   t tddd}| |ttdk t|dd}| |tdk d S )Nr   r	   x92300000004r   r   r   r   r   r   S      zX923_Tests.test1c                 C   P   t ttddd}| |ttdk t|dd}| |ttdk d S )Nr   r	   r4   1234567800000004r   r   r   r   r   r   Y      zX923_Tests.test2c                 C   r7   )Nr   r	   r4   r   r   r   r   r   r   r   _   r9   zX923_Tests.test3c                 C   r7   )Nr    r	   r4   1234567890000003r   r   r   r   r   r"   e   r9   zX923_Tests.test4c                 C   s\   |  tttddd |  tttddd |  tttddd |  tttddd d S )Nr+   r	   r4   r,   z123456    r   r)   r'   r   r   r   r(   k   s   zX923_Tests.testn1Nr.   r/   r0   r   r   r   r"   r(   r   r   r   r   r2   Q   s    r2   c                   @   r1   )ISO7816_Testsc                 C   r3   )Nr   r	   iso781680000000r   r   r   r   r   r   s   r6   zISO7816_Tests.test1c                 C   r7   )Nr   r	   r=   1234567880000000r   r   r   r   r   r   y   r9   zISO7816_Tests.test2c                 C   r7   )Nr   r	   r=   12345680r   r   r   r   r   r      s   zISO7816_Tests.test3c                 C   r7   )Nr    r	   r=   1234567890800000r   r   r   r   r   r"      r9   zISO7816_Tests.test4c                 C   s0   |  tttddd |  tttddd d S )Nu   123456r	   r=   r   r)   r'   r   r   r   r(      s   zISO7816_Tests.testn1Nr;   r   r   r   r   r<   q   s    r<   c                 C   s,   g }|t t7 }|t t7 }|t t7 }|S N)r   r   r2   r<   )configtestsr   r   r   	get_tests   s
   rE   __main__c                   C   s   t t S rB   )unittest	TestSuiterE   r   r   r   r   <lambda>   s    rI   suite)defaultTest)rG   binasciir   r   Crypto.Util.py3compatCrypto.SelfTest.st_commonr   Crypto.Util.Paddingr   r   TestCaser   r2   r<   rE   r.   rJ   mainr   r   r   r   <module>   s   !( 