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