mirror of
				https://github.com/langgenius/dify.git
				synced 2025-11-03 20:33:00 +00:00 
			
		
		
		
	test: add test for PKCS1OAEP_Cipher with gmpy2 (#3760)
This commit is contained in:
		
							parent
							
								
									b249767c5c
								
							
						
					
					
						commit
						a34e8cb0bd
					
				
							
								
								
									
										3
									
								
								.github/workflows/api-tests.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								.github/workflows/api-tests.yml
									
									
									
									
										vendored
									
									
								
							@ -57,3 +57,6 @@ jobs:
 | 
			
		||||
 | 
			
		||||
      - name: Run Workflow
 | 
			
		||||
        run: dev/pytest/pytest_workflow.sh
 | 
			
		||||
 | 
			
		||||
      - name: Run Unit tests
 | 
			
		||||
        run: dev/pytest/pytest_unit_tests.sh
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										29
									
								
								api/tests/unit_tests/libs/test_rsa.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								api/tests/unit_tests/libs/test_rsa.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,29 @@
 | 
			
		||||
import rsa as pyrsa
 | 
			
		||||
from Crypto.PublicKey import RSA
 | 
			
		||||
 | 
			
		||||
from libs import gmpy2_pkcs10aep_cipher
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def test_gmpy2_pkcs10aep_cipher() -> None:
 | 
			
		||||
    rsa_key_pair = pyrsa.newkeys(2048)
 | 
			
		||||
    public_key = rsa_key_pair[0].save_pkcs1()
 | 
			
		||||
    private_key = rsa_key_pair[1].save_pkcs1()
 | 
			
		||||
 | 
			
		||||
    public_rsa_key = RSA.import_key(public_key)
 | 
			
		||||
    public_cipher_rsa2 = gmpy2_pkcs10aep_cipher.new(public_rsa_key)
 | 
			
		||||
 | 
			
		||||
    private_rsa_key = RSA.import_key(private_key)
 | 
			
		||||
    private_cipher_rsa = gmpy2_pkcs10aep_cipher.new(private_rsa_key)
 | 
			
		||||
 | 
			
		||||
    raw_text = 'raw_text'
 | 
			
		||||
    raw_text_bytes = raw_text.encode()
 | 
			
		||||
 | 
			
		||||
    # RSA encryption by public key and decryption by private key
 | 
			
		||||
    encrypted_by_pub_key = public_cipher_rsa2.encrypt(message=raw_text_bytes)
 | 
			
		||||
    decrypted_by_pub_key = private_cipher_rsa.decrypt(encrypted_by_pub_key)
 | 
			
		||||
    assert decrypted_by_pub_key == raw_text_bytes
 | 
			
		||||
 | 
			
		||||
    # RSA encryption and decryption by private key
 | 
			
		||||
    encrypted_by_private_key = private_cipher_rsa.encrypt(message=raw_text_bytes)
 | 
			
		||||
    decrypted_by_private_key = private_cipher_rsa.decrypt(encrypted_by_private_key)
 | 
			
		||||
    assert decrypted_by_private_key == raw_text_bytes
 | 
			
		||||
@ -9,3 +9,6 @@ dev/pytest/pytest_tools.sh
 | 
			
		||||
 | 
			
		||||
# Workflow
 | 
			
		||||
dev/pytest/pytest_workflow.sh
 | 
			
		||||
 | 
			
		||||
# Unit tests
 | 
			
		||||
dev/pytest/pytest_unit_tests.sh
 | 
			
		||||
							
								
								
									
										5
									
								
								dev/pytest/pytest_unit_tests.sh
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								dev/pytest/pytest_unit_tests.sh
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,5 @@
 | 
			
		||||
#!/bin/bash
 | 
			
		||||
set -x
 | 
			
		||||
 | 
			
		||||
# libs
 | 
			
		||||
pytest api/tests/unit_tests/libs
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user