Skip to content

Commit 2ac41b7

Browse files
authored
Merge pull request #116 from mattsb42-aws/compat-rsa
[RSA] make backend-explicit tests use backend-explicit keys
2 parents b4d6ca2 + 5ee69d8 commit 2ac41b7

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

tests/algorithms/test_RSA.py

+12-10
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
11
import sys
22

33
try:
4-
from Crypto.PublicKey import RSA
4+
from Crypto.PublicKey import RSA as PyCryptoRSA
5+
from jose.backends.pycrypto_backend import RSAKey as PyCryptoRSAKey
56
except ImportError:
6-
RSA = None
7+
PyCryptoRSA = PyCryptoRSAKey = None
78

89
try:
910
from cryptography.hazmat.backends import default_backend
10-
from cryptography.hazmat.primitives.asymmetric import rsa
11+
from cryptography.hazmat.primitives.asymmetric import rsa as pyca_rsa
12+
from jose.backends.cryptography_backend import CryptographyRSAKey
1113
except ImportError:
12-
default_backend = rsa = None
14+
default_backend = pyca_rsa = CryptographyRSAKey = None
1315

1416
from jose.backends import RSAKey
1517
from jose.constants import ALGORITHMS
@@ -77,12 +79,12 @@
7779

7880
@pytest.mark.pycrypto
7981
@pytest.mark.pycryptodome
80-
@pytest.mark.skipif(RSA is None, reason="Pycrypto/dome backend not available")
82+
@pytest.mark.skipif(None in (PyCryptoRSA, PyCryptoRSAKey), reason="Pycrypto/dome backend not available")
8183
def test_pycrypto_RSA_key_instance():
82-
key = RSA.construct((long(
84+
key = PyCryptoRSA.construct((long(
8385
26057131595212989515105618545799160306093557851986992545257129318694524535510983041068168825614868056510242030438003863929818932202262132630250203397069801217463517914103389095129323580576852108653940669240896817348477800490303630912852266209307160550655497615975529276169196271699168537716821419779900117025818140018436554173242441334827711966499484119233207097432165756707507563413323850255548329534279691658369466534587631102538061857114141268972476680597988266772849780811214198186940677291891818952682545840788356616771009013059992237747149380197028452160324144544057074406611859615973035412993832273216732343819),
8486
long(65537)))
85-
RSAKey(key, ALGORITHMS.RS256)
87+
PyCryptoRSAKey(key, ALGORITHMS.RS256)
8688

8789
# TODO: Unclear why this test was marked as only for pycrypto
8890
@pytest.mark.pycrypto
@@ -99,17 +101,17 @@ def test_pycrypto_unencoded_cleartext():
99101

100102
@pytest.mark.cryptography
101103
@pytest.mark.skipif(
102-
None in (default_backend, rsa),
104+
None in (default_backend, pyca_rsa, CryptographyRSAKey),
103105
reason="Cryptography backend not available"
104106
)
105107
def test_cryptography_RSA_key_instance():
106108

107-
key = rsa.RSAPublicNumbers(
109+
key = pyca_rsa.RSAPublicNumbers(
108110
long(65537),
109111
long(26057131595212989515105618545799160306093557851986992545257129318694524535510983041068168825614868056510242030438003863929818932202262132630250203397069801217463517914103389095129323580576852108653940669240896817348477800490303630912852266209307160550655497615975529276169196271699168537716821419779900117025818140018436554173242441334827711966499484119233207097432165756707507563413323850255548329534279691658369466534587631102538061857114141268972476680597988266772849780811214198186940677291891818952682545840788356616771009013059992237747149380197028452160324144544057074406611859615973035412993832273216732343819),
110112
).public_key(default_backend())
111113

112-
pubkey = RSAKey(key, ALGORITHMS.RS256)
114+
pubkey = CryptographyRSAKey(key, ALGORITHMS.RS256)
113115
assert pubkey.is_public()
114116

115117
pem = pubkey.to_pem()

0 commit comments

Comments
 (0)