Esempio n. 1
0
    def test_RSAKey_errors(self):

        rsa_key = {
            "kty": "RSA",
            "kid": "*****@*****.**",
            "use": "sig",
            "n":
            "n4EPtAOCc9AlkeQHPzHStgAbgs7bTZLwUBZdR8_KuKPEHLd4rHVTeT-O-XV2jRojdNhxJWTDvNd7nqQ0VEiZQHz_AJmSCpMaJMRBSFKrKb2wqVwGU_NsYOYL-QtiWN2lbzcEe6XC0dApr5ydQLrHqkHHig3RBordaZ6Aj-oBHqFEHYpPe7Tpe-OfVfHd1E6cS6M1FZcD1NNLYD5lFHpPI9bTwJlsde3uhGqC0ZCuEHg8lhzwOHrtIQbS0FVbb9k3-tVTU4fg_3L_vniUFAKwuCLqKnS2BYwdq_mzSnbLY7h_qixoR7jig3__kRhuaxwUkRz5iaiQkqgc5gHdrNP5zw",
            "e": "AQAB"
        }

        with pytest.raises(JWKError):
            key = RSAKey(rsa_key, 'HS256')

        rsa_key = {
            "kty": "oct",
            "kid": "*****@*****.**",
            "use": "sig",
            "n":
            "n4EPtAOCc9AlkeQHPzHStgAbgs7bTZLwUBZdR8_KuKPEHLd4rHVTeT-O-XV2jRojdNhxJWTDvNd7nqQ0VEiZQHz_AJmSCpMaJMRBSFKrKb2wqVwGU_NsYOYL-QtiWN2lbzcEe6XC0dApr5ydQLrHqkHHig3RBordaZ6Aj-oBHqFEHYpPe7Tpe-OfVfHd1E6cS6M1FZcD1NNLYD5lFHpPI9bTwJlsde3uhGqC0ZCuEHg8lhzwOHrtIQbS0FVbb9k3-tVTU4fg_3L_vniUFAKwuCLqKnS2BYwdq_mzSnbLY7h_qixoR7jig3__kRhuaxwUkRz5iaiQkqgc5gHdrNP5zw",
            "e": "AQAB"
        }

        with pytest.raises(JWKError):
            key = RSAKey(rsa_key, 'RS256')  # noqa: F841
Esempio n. 2
0
def test_pycrypto_wrap_key_unencoded_cleartext(private_key_pem, algorithm):
    private_key = PyCryptoRSAKey(private_key_pem, algorithm)
    key = b'test'
    public_key = private_key.public_key()
    wrapped = public_key.wrap_key(key)
    unwrapped = private_key.unwrap_key(wrapped)
    assert unwrapped == key
def test_pycrypto_unencoded_cleartext(private_key):
    key = PyCryptoRSAKey(private_key, ALGORITHMS.RS256)
    msg = b'test'
    signature = key.sign(msg)
    public_key = key.public_key()

    assert bool(public_key.verify(msg, signature))
    assert not bool(public_key.verify(msg, 1))
Esempio n. 4
0
def test_pycrypto_unencoded_cleartext(private_key):
    key = PyCryptoRSAKey(private_key, ALGORITHMS.RS256)
    msg = b'test'
    signature = key.sign(msg)
    public_key = key.public_key()

    assert bool(public_key.verify(msg, signature))
    assert not bool(public_key.verify(msg, 1))
Esempio n. 5
0
    def test_pycrypto_invalid_signature(self):

        key = RSAKey(private_key, ALGORITHMS.RS256)
        msg = b'test'
        signature = key.sign(msg)
        public_key = key.public_key()

        assert public_key.verify(msg, signature) == True
        assert public_key.verify(msg, 1) == False
Esempio n. 6
0
    def test_signing_parity(self):
        key1 = RSAKey(private_key, ALGORITHMS.RS256)
        vkey1 = key1.public_key()
        key2 = CryptographyRSAKey(private_key, ALGORITHMS.RS256)
        vkey2 = key2.public_key()

        msg = b'test'
        sig1 = key1.sign(msg)
        sig2 = key2.sign(msg)

        assert vkey1.verify(msg, sig1)
        assert vkey1.verify(msg, sig2)
        assert vkey2.verify(msg, sig1)
        assert vkey2.verify(msg, sig2)

        # invalid signature
        assert not vkey2.verify(msg, b'n' * 64)
Esempio n. 7
0
    def test_invalid_hash_alg(self):
        with pytest.raises(JWKError):
            key = jwk.HMACKey(hmac_key, 'RS512')

        with pytest.raises(JWKError):
            key = RSAKey(rsa_key, 'HS512')

        with pytest.raises(JWKError):
            key = ECDSAECKey(ec_key, 'RS512')  # noqa: F841
Esempio n. 8
0
    def test_invalid_jwk(self):

        with pytest.raises(JWKError):
            key = jwk.HMACKey(rsa_key, 'HS256')

        with pytest.raises(JWKError):
            key = RSAKey(hmac_key, 'RS256')

        with pytest.raises(JWKError):
            key = ECDSAECKey(rsa_key, 'ES256')  # noqa: F841
Esempio n. 9
0
    def test_get_public_key(self):
        key = CryptographyRSAKey(private_key, ALGORITHMS.RS256)
        public_key = key.public_key()
        public_key2 = public_key.public_key()
        assert public_key == public_key2

        key = RSAKey(private_key, ALGORITHMS.RS256)
        public_key = key.public_key()
        public_key2 = public_key.public_key()
        assert public_key == public_key2
Esempio n. 10
0
    def test_pycrypto_unencoded_cleartext(self, Backend):
        key = Backend(private_key, ALGORITHMS.RS256)

        key = RSAKey(private_key, ALGORITHMS.RS256)
        msg = b'test'
        signature = key.sign(msg)
        public_key = key.public_key()

        assert public_key.verify(msg, signature) == True
        assert public_key.verify(msg, 1) == False
Esempio n. 11
0
 def test_pycrypto_RSA_key_instance(self):
     key = RSA.construct((long(
         26057131595212989515105618545799160306093557851986992545257129318694524535510983041068168825614868056510242030438003863929818932202262132630250203397069801217463517914103389095129323580576852108653940669240896817348477800490303630912852266209307160550655497615975529276169196271699168537716821419779900117025818140018436554173242441334827711966499484119233207097432165756707507563413323850255548329534279691658369466534587631102538061857114141268972476680597988266772849780811214198186940677291891818952682545840788356616771009013059992237747149380197028452160324144544057074406611859615973035412993832273216732343819
     ), long(65537)))
     RSAKey(key, ALGORITHMS.RS256)
Esempio n. 12
0
 def test_bad_cert(self):
     key = '-----BEGIN CERTIFICATE-----'
     with pytest.raises(JOSEError):
         RSAKey(key, ALGORITHMS.RS256)
Esempio n. 13
0
 def test_object(self):
     key = object()
     with pytest.raises(JOSEError):
         RSAKey(key, ALGORITHMS.RS256)
Esempio n. 14
0
 def test_string_secret(self):
     key = 'secret'
     with pytest.raises(JOSEError):
         RSAKey(key, ALGORITHMS.RS256)
Esempio n. 15
0
 def test_RSA_key(self):
     RSAKey(private_key, ALGORITHMS.RS256)
Esempio n. 16
0
    def test_to_pem(self):
        key = CryptographyRSAKey(private_key, ALGORITHMS.RS256)
        assert key.to_pem().strip() == private_key.strip()

        key = RSAKey(private_key, ALGORITHMS.RS256)
        assert key.to_pem().strip() == private_key.strip()