Esempio n. 1
0
    def test_get_wrapped_key_as_jwe_4(self, monkeypatch, get_jwt):
        nonce = '12345678901234567890123456789015'
        jwe_kid = 'jwe-kid-salesforce-serviceX'

        def mock_false(*args):
            return ('', '')

        monkeypatch.setattr(jwe, '_encrypt_dek_with_cek', mock_false)

        jwe_token = jwe.get_wrapped_key_as_jwe(bytearray('randomdek'.encode()),
                                               'salesforce', jwe_kid, nonce)

        assert jwe_token == ''
Esempio n. 2
0
    def test_get_wrapped_key_as_jwe_5(self, monkeypatch, get_jwt):
        nonce = '12345678901234567890123456789014'
        jwe_kid = 'jwe-kid-salesforce-serviceX'

        def mock_false(*args):
            return ''

        monkeypatch.setattr(jwe, '_create_jwe_token_json', mock_false)

        jwe_token = jwe.get_wrapped_key_as_jwe(bytearray('randomdek'.encode()),
                                               'salesforce', jwe_kid, nonce)

        assert jwe_token == ''
Esempio n. 3
0
    def test_get_wrapped_key_as_jwe(self, monkeypatch, get_jwt):
        nonce = '12345678901234567890123456789012'
        jwe_kid = 'jwe-kid-salesforce-serviceX'

        def mock_devmode(*args):
            if args[0] == 'DEV_MODE':
                return True
            else:
                cert = ('config/backend/distributey_serviceX_key_consumer.crt')
                return cert

        monkeypatch.setattr(config, 'get_config_by_keypath', mock_devmode)

        jwe_token = jwe.get_wrapped_key_as_jwe(bytearray('randomdek'.encode()),
                                               'salesforce', jwe_kid, nonce)
        assert json.loads(jwe_token)['kid'] == jwe_kid
Esempio n. 4
0
    tenant = str(escape(view_args['tenant']))
    jwe_kid = str(escape(view_args['jwe_kid']))
    nonce = str(escape(query_args['requestId']))

    dek = _get_dek_from_vault(token, tenant, jwe_kid)

    if not dek:
        err_msg = 'Failed to retrieve key material from key service.'
        app.logger.error(err_msg)
        ret = '{"status": "fail", "output": "%s"}' % err_msg

        trace_exit(inspect.currentframe(), ret)
        _http_error(500, ret)

    try:
        json_jwe_token = jwe.get_wrapped_key_as_jwe(dek, tenant, jwe_kid,
                                                    nonce)
    except Exception as exc:
        ret = '{"status": "fail", "output": "Oops, internal error."}'
        app.logger.error('Failed to create JWE: %s', exc)
        trace_exit(inspect.currentframe(), ret)
        _http_error(500, ret)

    if not json_jwe_token:
        ret = '{"status": "fail", "output": "Oops, internal error."}'
        app.logger.error('Failed to create JWE for unknown reason.')
        trace_exit(inspect.currentframe(), ret)
        _http_error(500, ret)

    app.logger.info('JWE token with kid "%s" sent.',
                    json.loads(json_jwe_token)['kid'])
    app.logger.debug('JWE token: %s', json_jwe_token)