def _eab_kid_get(self, protected): """ get key identifier for eab validation """ self.logger.debug('_eab_kid_get()') # load protected into json format protected_dic = json.loads(b64decode_pad(self.logger, protected)) # extract kid if isinstance(protected_dic, dict): eab_key_id = protected_dic.get('kid', None) else: eab_key_id = None self.logger.debug('_eab_kid_get() ended with: {0}'.format(eab_key_id)) return eab_key_id
def _eab_jwk_compare(self, protected, payload): """ compare jwk from outer header with jwk in eab playload """ self.logger.debug('_eab_jwk_compare()') result = False if 'jwk' in protected: # convert outer jwk into string for better comparison if isinstance(protected, dict): jwk_outer = json.dumps(protected['jwk']) # decode inner jwk jwk_inner = b64decode_pad(self.logger, payload) jwk_inner = json.dumps(json.loads(jwk_inner)) if jwk_outer == jwk_inner: result = True self.logger.debug('_eab_jwk_compare() ended with: {0}'.format(result)) return result