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']
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/")
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
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