Ejemplo n.º 1
0
    def test_dump_issuer_keys(self):
        kb = keybundle_from_local_file("file://%s/jwk.json" % BASE_PATH,
                                       "jwks", ["sig"])
        assert len(kb) == 1
        kj = KeyJar()
        kj.issuer_keys[""] = [kb]
        _jwks_dict = kj.export_jwks()

        _info = _jwks_dict['keys'][0]
        assert _info == {
            'use':
            'sig',
            'e':
            'AQAB',
            'kty':
            'RSA',
            'alg':
            'RS256',
            'n':
            'pKybs0WaHU_y4cHxWbm8Wzj66HtcyFn7Fh3n'
            '-99qTXu5yNa30MRYIYfSDwe9JVc1JUoGw41yq2StdGBJ40HxichjE'
            '-Yopfu3B58Q'
            'lgJvToUbWD4gmTDGgMGxQxtv1En2yedaynQ73sDpIK-12JJDY55pvf'
            '-PCiSQ9OjxZLiVGKlClDus44_uv2370b9IN2JiEOF-a7JB'
            'qaTEYLPpXaoKWDSnJNonr79tL0T7iuJmO1l705oO3Y0TQ'
            '-INLY6jnKG_RpsvyvGNnwP9pMvcP1phKsWZ10ofuuhJGRp8IxQL9Rfz'
            'T87OvF0RBSO1U73h09YP-corWDsnKIi6TbzRpN5YDw',
            'kid':
            'abc'
        }
Ejemplo n.º 2
0
def test_keybundle_from_local_der():
    kb = keybundle_from_local_file(
        "{}".format(os.path.join('keys', 'rsa_enc')), "der", ['enc'])
    assert len(kb) == 1
    keys = kb.get('rsa')
    assert len(keys) == 1
    assert isinstance(keys[0], RSAKey)
Ejemplo n.º 3
0
def test_keybundle_from_local_der_update():
    kb = keybundle_from_local_file(
        "file://{}".format(os.path.join('keys', 'rsa_enc')), "der", ['enc'])
    assert len(kb) == 1
    keys = kb.get('rsa')
    assert len(keys) == 1
    assert isinstance(keys[0], RSAKey)

    kb.update()

    # Nothing should change
    assert len(kb) == 1
    keys = kb.get('rsa')
    assert len(keys) == 1
    assert isinstance(keys[0], RSAKey)
Ejemplo n.º 4
0
def test_update_RSA():
    kc = keybundle_from_local_file(RSAKEY, "der", ["sig"])
    assert kc.remote is False
    assert len(kc.get("oct")) == 0
    assert len(kc.get("RSA")) == 1

    key = kc.get("RSA")[0]
    assert isinstance(key, RSAKey)

    kc.update()
    assert kc.remote is False
    assert len(kc.get("oct")) == 0
    assert len(kc.get("RSA")) == 1

    key = kc.get("RSA")[0]
    assert isinstance(key, RSAKey)
Ejemplo n.º 5
0
    def test_get_enc_not_mine(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "enc"
        }])
        ks["http://www.example.org/"] = KeyBundle([{
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "ver"
        }])
        ks["http://www.example.org/"].append(
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]))

        assert ks.get('enc', 'oct', 'http://www.example.org/')
Ejemplo n.º 6
0
    def test_issuer_missing_slash(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "ver"
        }])
        ks["http://www.example.org/"] = KeyBundle([{
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "ver"
        }])
        ks["http://www.example.org/"].append(
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]))

        assert ks.get('sig', 'RSA', 'http://www.example.org')
Ejemplo n.º 7
0
    def test_items(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "a1b2c3d4",
            "use": "ver"
        }])
        ks["http://www.example.org"] = KeyBundle([{
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "e5f6g7h8",
            "use": "ver"
        }])
        ks["http://www.example.org"].append(
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]))

        assert len(ks.items()) == 2
Ejemplo n.º 8
0
def test_keybundle_from_local_jwks():
    kb = keybundle_from_local_file(
        "{}".format(os.path.join(BASE_PATH, "jwk.json")), "jwks", ["sig"])
    assert len(kb) == 1
Ejemplo n.º 9
0
 def test_setitem(self):
     kj = KeyJar()
     kb = keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"])
     kj['https://issuer.example.com'] = kb
     assert list(kj.owners()) == ['https://issuer.example.com']
Ejemplo n.º 10
0
 def test_keyjar_add(self):
     kj = KeyJar()
     kb = keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"])
     kj.add_kb('https://issuer.example.com', kb)
     assert list(kj.owners()) == ['https://issuer.example.com']