summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2015-10-26 12:36:13 -0400
committerSimo Sorce <simo@redhat.com>2015-11-06 20:55:12 -0500
commitb1b848ff0974c0643e57af810e4a215bf437f0cf (patch)
tree1743b3c81b47552140066ec3f9ae7ccd50c36c46
parentdc6101a5acad72a22ab911bb77a594f58d220ee1 (diff)
downloadcustodia-b1b848ff0974c0643e57af810e4a215bf437f0cf.tar.gz
custodia-b1b848ff0974c0643e57af810e4a215bf437f0cf.tar.xz
custodia-b1b848ff0974c0643e57af810e4a215bf437f0cf.zip
Fix KEM messages handling when storing data.
The payload was not being set with the provided value when a PUT operation token was parsed. This resulted in attempting to store an empty value instead of the provided secret. Signed-off-by: Simo Sorce <simo@redhat.com>
-rw-r--r--custodia/message/kem.py14
1 files changed, 11 insertions, 3 deletions
diff --git a/custodia/message/kem.py b/custodia/message/kem.py
index c832b12..48b756b 100644
--- a/custodia/message/kem.py
+++ b/custodia/message/kem.py
@@ -50,9 +50,6 @@ class KEMKeysStore(SimplePathAuthz):
def __init__(self, config=None):
super(KEMKeysStore, self).__init__(config)
- self.paths = []
- if 'paths' in self.config:
- self.paths = self.config['paths'].split()
self._server_keys = None
self._alg = None
self._enc = None
@@ -178,6 +175,7 @@ class KEMHandler(MessageHandler):
check_kem_claims(claims, name)
self.name = name
+ self.payload = claims.get('value')
return {'type': 'kem',
'value': {'kid': self.client_keys[KEY_USAGE_ENC].key_id,
@@ -403,3 +401,13 @@ class KEMTests(unittest.TestCase):
msg = json_decode(kem.reply('key value'))
rep = cli.parse_reply("key name", msg['value'])
self.assertEqual(rep, 'key value')
+
+ def test_4_KEMClient_SET(self):
+ server_keys = [JWK(**test_keys[KEY_USAGE_SIG]), None]
+ client_keys = [JWK(**self.client_keys[KEY_USAGE_SIG]),
+ JWK(**self.client_keys[KEY_USAGE_ENC])]
+ cli = KEMClient(server_keys, client_keys)
+ kem = KEMHandler({'KEMKeysStore': self.kk})
+ req = cli.make_request("key name", "key value")
+ kem.parse(req, "key name")
+ self.assertEqual(kem.payload, "key value")