Esempio n. 1
0
def test_get_wrong_owner():
    kj = KeyJar()
    kj.add_kb("Alice", KeyBundle(JWK0["keys"]))
    kj.add_kb("Bob", KeyBundle(JWK1["keys"]))
    kj.add_kb("C", KeyBundle(JWK2["keys"]))
    assert kj.get("sig", "rsa", "https://delphi.example.com/") == []
    assert kj.get("sig", "rsa", "https://delphi.example.com") == []
    assert kj.get("sig", "rsa") == []

    assert "https://delphi.example.com" not in kj
    with pytest.raises(KeyError):
        kj["https://delphi.example.com"]
def test_get_wrong_owner():
    kj = KeyJar()
    kj['Alice'] = [KeyBundle(JWK0['keys'])]
    kj['Bob'] = [KeyBundle(JWK1['keys'])]
    kj['C'] = [KeyBundle(JWK2['keys'])]
    assert kj.get('sig', 'rsa', 'https://delphi.example.com/') == []
    assert kj.get('sig', 'rsa', 'https://delphi.example.com') == []
    assert kj.get('sig', 'rsa') == []

    assert 'https://delphi.example.com' not in kj

    with pytest.raises(KeyError):
        _ = kj['https://delphi.example.com']
Esempio n. 3
0
    def test_get_enc_not_mine(self):
        ks = KeyJar()
        ks.add_kb(
            "",
            KeyBundle(
                [
                    {"kty": "oct", "key": "a1b2c3d4e5f6g7h8", "use": "sig"},
                    {"kty": "oct", "key": "a1b2c3d4e5f6g7h8", "use": "enc"},
                ]
            ),
        )
        ks.add_kb(
            "http://www.example.org/",
            KeyBundle(
                [
                    {"kty": "oct", "key": "1a2b3c4d5e6f7g8h", "use": "sig"},
                    {"kty": "oct", "key": "1a2b3c4d5e6f7g8h", "use": "enc"},
                ]
            ),
        )
        ks.add_kb(
            "http://www.example.org/",
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]),
        )

        assert ks.get("enc", "oct", "http://www.example.org/")
Esempio n. 4
0
    def test_issuer_extra_slash(self):
        ks = KeyJar()
        ks.add_kb(
            "",
            KeyBundle(
                [
                    {"kty": "oct", "key": "abcdefghijklmnop", "use": "sig"},
                    {"kty": "oct", "key": "ABCDEFGHIJKLMNOP", "use": "enc"},
                ]
            ),
        )
        ks.add_kb(
            "http://www.example.org",
            KeyBundle(
                [
                    {"kty": "oct", "key": "0123456789012345", "use": "sig"},
                    {"kty": "oct", "key": "1234567890123456", "use": "enc"},
                ]
            ),
        )
        ks.add_kb(
            "http://www.example.org",
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]),
        )

        assert ks.get("sig", "RSA", "http://www.example.org/")
    def test_get_enc_not_mine(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "a1b2c3d4e5f6g7h8",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "a1b2c3d4e5f6g7h8",
            "use": "enc"
        }])
        ks["http://www.example.org/"] = KeyBundle([{
            "kty": "oct",
            "key": "1a2b3c4d5e6f7g8h",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "1a2b3c4d5e6f7g8h",
            "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/')
    def test_issuer_missing_slash(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "a1b2c3d4e5f6g7h8",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "a1b2c3d4e5f6g7h8",
            "use": "enc"
        }])
        ks["http://www.example.org/"] = KeyBundle([{
            "kty": "oct",
            "key": "1a2b3c4d5e6f7g8h",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "1a2b3c4d5e6f7g8h",
            "use": "enc"
        }])
        ks["http://www.example.org/"].append(
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]))

        assert ks.get('sig', 'RSA', 'http://www.example.org')
    def test_issuer_extra_slash(self):
        ks = KeyJar()
        ks[""] = KeyBundle([{
            "kty": "oct",
            "key": "abcdefghijklmnop",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "ABCDEFGHIJKLMNOP",
            "use": "enc"
        }])
        ks["http://www.example.org"] = KeyBundle([{
            "kty": "oct",
            "key": "0123456789012345",
            "use": "sig"
        }, {
            "kty": "oct",
            "key": "1234567890123456",
            "use": "enc"
        }])
        ks["http://www.example.org"].append(
            keybundle_from_local_file(RSAKEY, "der", ["ver", "sig"]))

        assert ks.get('sig', 'RSA', 'http://www.example.org/')
def test_get_ec_wrong_alg():
    kj = KeyJar()
    kj.import_jwks(JWKS_SPO, '')
    k = kj.get('sig', 'EC', alg='ES512')
    assert k == []
def test_get_ec():
    kj = KeyJar()
    kj.import_jwks(JWKS_SPO, '')
    k = kj.get('sig', 'EC', alg='ES256')
    assert k
Esempio n. 10
0
def test_get_ec_wrong_alg():
    kj = KeyJar()
    kj.import_jwks(JWKS_SPO, "")
    k = kj.get("sig", "EC", alg="ES512")
    assert k == []
Esempio n. 11
0
def test_get_ec():
    kj = KeyJar()
    kj.import_jwks(JWKS_SPO, "")
    k = kj.get("sig", "EC", alg="ES256")
    assert k