MCPcopy
hub / github.com/authlib/authlib / test_decryption_of_json_string

Function test_decryption_of_json_string

tests/jose/test_jwe.py:1265–1376  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

1263
1264
1265def test_decryption_of_json_string():
1266 jwe = JsonWebEncryption()
1267
1268 alice_key = OKPKey.import_key(
1269 {
1270 "kty": "OKP",
1271 "crv": "X25519",
1272 "x": "Knbm_BcdQr7WIoz-uqit9M0wbcfEr6y-9UfIZ8QnBD4",
1273 "d": "i9KuFhSzEBsiv3PKVL5115OCdsqQai5nj_Flzfkw5jU",
1274 }
1275 )
1276 bob_key = OKPKey.import_key(
1277 {
1278 "kty": "OKP",
1279 "crv": "X25519",
1280 "x": "BT7aR0ItXfeDAldeeOlXL_wXqp-j5FltT0vRSG16kRw",
1281 "d": "1gDirl_r_Y3-qUa3WXHgEXrrEHngWThU3c9zj9A2uBg",
1282 }
1283 )
1284 charlie_key = OKPKey.import_key(
1285 {
1286 "kty": "OKP",
1287 "crv": "X25519",
1288 "x": "q-LsvU772uV_2sPJhfAIq-3vnKNVefNoIlvyvg1hrnE",
1289 "d": "Jcv8gklhMjC0b-lsk5onBbppWAx5ncNtbM63Jr9xBQE",
1290 }
1291 )
1292
1293 data = """
1294 {
1295 "protected": "eyJhbGciOiJFQ0RILTFQVStBMTI4S1ciLCJlbmMiOiJBMjU2Q0JDLUhTNTEyIiwiYXB1IjoiUVd4cFkyVSIsImFwdiI6IlFtOWlJR0Z1WkNCRGFHRnliR2xsIiwiZXBrIjp7Imt0eSI6Ik9LUCIsImNydiI6IlgyNTUxOSIsIngiOiJrOW9mX2NwQWFqeTBwb1c1Z2FpeFhHczluSGt3ZzFBRnFVQUZhMzlkeUJjIn19",
1296 "unprotected": {
1297 "jku": "https://provider.test/jwks"
1298 },
1299 "recipients": [
1300 {
1301 "header": {
1302 "kid": "bob-key-2"
1303 },
1304 "encrypted_key": "pOMVA9_PtoRe7xXW1139NzzN1UhiFoio8lGto9cf0t8PyU-sjNXH8-LIRLycq8CHJQbDwvQeU1cSl55cQ0hGezJu2N9IY0QN"
1305 },
1306 {
1307 "header": {
1308 "kid": "2021-05-06"
1309 },
1310 "encrypted_key": "56GVudgRLIMEElQ7DpXsijJVRSWUSDNdbWkdV3g0GUNq6hcT_GkxwnxlPIWrTXCqRpVKQC8fe4z3PQ2YH2afvjQ28aiCTWFE"
1311 }
1312 ],
1313 "iv": "AAECAwQFBgcICQoLDA0ODw",
1314 "ciphertext": "Az2IWsISEMDJvyc5XRL-3-d-RgNBOGolCsxFFoUXFYw",
1315 "tag": "HLb4fTlm8spGmij3RyOs2gJ4DpHM4hhVRwdF_hGb3WQ"
1316 }"""
1317
1318 rv_at_bob = jwe.deserialize_json(data, bob_key, sender_key=alice_key)
1319
1320 assert rv_at_bob.keys() == {"header", "payload"}
1321
1322 assert rv_at_bob["header"].keys() == {"protected", "unprotected", "recipients"}

Callers

nothing calls this directly

Calls 4

deserialize_jsonMethod · 0.95
JsonWebEncryptionClass · 0.90
keysMethod · 0.80
import_keyMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…