'Prove that we belong on our zone by providing the chain of trust,
from us to the creator of the zone.'

def register_prove_self_registration(self):

    own_device = Device.get_own_device()
    try:
        own_devicezone = DeviceZone.objects.get(device=own_device)
    except DeviceZone.DoesNotExist:
        raise Exception('Shared    network    not    installed.        Try    running    the    `generate_zone`    command.')
    own_zone = own_devicezone.zone
    chain_of_trust = ChainOfTrust(device=own_device, zone=own_zone)
    object_list = ([own_device] + chain_of_trust.objects())
    r = self.post('register', {'client_device': serialize(object_list, ensure_ascii=False)})
    if (r.status_code != 200):
        raise Exception(r.content)
    return (deserialize(r.content, dest_version=own_device.get_version()), r)
