Ejemplo n.º 1
0
 def test_import_object_includes_invalid_param(self):
     algorithm = "AES"
     bit_length = 256
     name = None
     key = b'deadbeef'
     other_value = "other_value"
     with self.assertRaises(exceptions.BadRequest):
         api.import_object(self.request,
                           algorithm=algorithm,
                           bit_length=bit_length,
                           name=name,
                           key=key,
                           object_type=symmetric_key.SymmetricKey,
                           other_value=other_value)
Ejemplo n.º 2
0
    def handle(self, request, data):
        try:
            # Remove any new lines in the passphrase
            direct_input = data.get('direct_input')
            direct_input = shared_forms.NEW_LINES.sub("", direct_input)
            object_uuid = client.import_object(
                request,
                passphrase=direct_input,
                name=data['name'],
                object_type=passphrase.Passphrase)

            if data['name']:
                object_identifier = data['name']
            else:
                object_identifier = object_uuid
            messages.success(request,
                             _('Successfully imported passphrase: %s')
                             % object_identifier)
            return object_uuid
        except Exception as e:
            msg = _('Unable to import passphrase: %s')
            messages.error(request, msg % e)
            exceptions.handle(request, ignore=True)
            self.api_error(_('Unable to import passphrase.'))
            return False
Ejemplo n.º 3
0
 def test_import_object(self):
     algorithm = "AES"
     bit_length = 48
     name = None
     key = b'deadbeef'
     key_b64 = base64.b64encode(key)
     actual_uuid = api.import_object(self.request,
                                     algorithm=algorithm,
                                     bit_length=bit_length,
                                     name=name,
                                     key=key_b64,
                                     object_type=symmetric_key.SymmetricKey)
     self.key_manager.store.assert_called_once()
     args, kwargs = self.key_manager.store.call_args
     actual_ctxt, actual_key = args
     self.assertEqual(actual_uuid, self.mock_uuid1)
     self.assertEqual(actual_ctxt, self.ctxt)
     self.assertEqual(actual_key.algorithm, algorithm)
     self.assertEqual(actual_key.bit_length, bit_length)
     self.assertEqual(actual_key.name, name)
     self.assertEqual(actual_key.get_encoded(), key)
Ejemplo n.º 4
0
    def handle(self, request, data):
        try:
            cert_pem = data.get('cert_data')
            cert_uuid = client.import_object(request,
                                             data=cert_pem,
                                             name=data['name'],
                                             object_type=x_509.X509)

            if data['name']:
                identifier = data['name']
            else:
                identifier = cert_uuid
            messages.success(
                request,
                _('Successfully imported certificate: %s') % identifier)
            return cert_uuid
        except Exception as e:
            msg = _('Unable to import certificate: %s')
            messages.error(request, msg % e)
            exceptions.handle(request, ignore=True)
            self.api_error(_('Unable to import certificate.'))
            return False
Ejemplo n.º 5
0
    def handle(self, request, data, key_type):
        try:
            key_uuid = client.import_object(request,
                                            algorithm=data['algorithm'],
                                            bit_length=data['bit_length'],
                                            key=data['key_data'],
                                            name=data['name'],
                                            object_type=key_type)

            if data['name']:
                key_identifier = data['name']
            else:
                key_identifier = key_uuid
            messages.success(
                request,
                _('Successfully imported key: %s') % key_identifier)
            return key_uuid
        except Exception as e:
            msg = _('Unable to import key: %s')
            messages.error(request, msg % e)
            exceptions.handle(request, ignore=True)
            self.api_error(_('Unable to import key.'))
            return False
Ejemplo n.º 6
0
    def handle(self, request, data):
        try:
            data_bytes = data.get('object_bytes')
            data_uuid = client.import_object(
                request,
                data=data_bytes,
                name=data['name'],
                object_type=opaque_data.OpaqueData)

            if data['name']:
                data_identifier = data['name']
            else:
                data_identifier = data_uuid
            messages.success(
                request,
                _('Successfully imported object: %s') % data_identifier)
            return data_uuid
        except Exception as e:
            msg = _('Unable to import object: %s')
            messages.error(msg % e)
            exceptions.handle(request, ignore=True)
            self.api_error(_('Unable to import object.'))
            return False