Files
py-libp2p/tests/core/crypto/test_rsa.py
2025-03-16 07:02:53 -06:00

31 lines
833 B
Python

import pytest
from libp2p.crypto.exceptions import (
CryptographyError,
)
from libp2p.crypto.rsa import (
MAX_RSA_KEY_SIZE,
RSAPrivateKey,
validate_rsa_key_size,
)
def test_validate_rsa_key_size():
# Test valid key size
key = RSAPrivateKey.new(2048)
validate_rsa_key_size(key.impl)
# Test key size too large
with pytest.raises(
CryptographyError, match=f".*exceeds maximum allowed size {MAX_RSA_KEY_SIZE}"
):
RSAPrivateKey.new(MAX_RSA_KEY_SIZE + 1)
# Test negative key size (this would be caught when creating the key)
with pytest.raises(CryptographyError, match="RSA key size must be positive"):
RSAPrivateKey.new(-1)
# Test zero key size
with pytest.raises(CryptographyError, match="RSA key size must be positive"):
RSAPrivateKey.new(0)