Esempio n. 1
0
def init():
    lg.out(4, "message_keeper.init")
    message.AddIncomingMessageCallback(on_incoming_message)
    message.AddOutgoingMessageCallback(on_outgoing_message)
    if not my_keys.is_key_registered(messages_key_id()):
        my_keys.generate_key(messages_key_id(),
                             key_size=settings.getPrivateKeySize())
Esempio n. 2
0
def test():
    lg.set_debug_level(24)
    init()
    my_keys.generate_key('[email protected]')
    # copy [email protected]'s key to [email protected] in ~/.bitdust/keys/
    open_queue('event-test123&[email protected]&[email protected]')
    add_producer('*****@*****.**')
    connect_producer('*****@*****.**',
                     'event-test123&[email protected]&[email protected]')
    start_event_publisher('*****@*****.**', 'test123')
    add_consumer('*****@*****.**')
    add_callback_method('*****@*****.**', _test_callback_bob)
    subscribe_consumer(
        '*****@*****.**',
        'event-test123&[email protected]&[email protected]')
    add_consumer('*****@*****.**')
    add_callback_method('*****@*****.**', _test_callback_dave)
    subscribe_consumer(
        '*****@*****.**',
        'event-test123&[email protected]&[email protected]')
    events.send('test123', data=dict(abc='abc', counter=0))
    events.send('test123', data=dict(abc='abc', counter=2))
    events.send('test123', data=dict(abc='abc', counter=4))
    events.send('test123', data=dict(abc='abc', counter=1))
    events.send('test123', data=dict(abc='abc', counter=6))
    events.send('test123', data=dict(abc='abc', counter=23))
    events.send('test123', data=dict(abc='abc', counter=620))
    events.send('test123', data=dict(abc='abc', counter=20))
    events.send('test123', data=dict(abc='abc', counter=30))
    events.send('test123', data=dict(abc='abc', counter=40))
    reactor.run()
Esempio n. 3
0
 def _on_my_keys_synchronized(self, evt):
     from logs import lg
     from main import settings
     from storage import keys_synchronizer
     from crypt import my_keys
     from chat import message_keeper
     if not my_keys.is_key_registered(message_keeper.messages_key_id(
     )) and keys_synchronizer.is_synchronized():
         lg.info(
             'key to store messages was not found but we know that all my keys are in sync, generate a new key: %s'
             % message_keeper.messages_key_id())
         my_keys.generate_key(message_keeper.messages_key_id(),
                              key_size=settings.getPrivateKeySize())
Esempio n. 4
0
 def test_regression(self):
     lg.set_debug_level(30)
     for i in range(3):
         key_id = 'test_key_%[email protected]_8084' % i
         my_keys.erase_key(key_id, keys_folder='/tmp/')
         my_keys.generate_key(key_id, key_size=1024, keys_folder='/tmp/')
         is_valid = my_keys.validate_key(my_keys.key_obj(key_id))
         if not is_valid:
             print(key_id)
             print(my_keys.get_private_key_raw(key_id))
         else:
             my_keys.erase_key(key_id, keys_folder='/tmp/')
         self.assertTrue(is_valid)
Esempio n. 5
0
 def _on_my_keys_synchronized(self, evt):
     from logs import lg
     from main import settings
     from storage import keys_synchronizer
     from crypt import my_keys
     from userid import my_id
     customer_key_id = my_id.getGlobalID(key_alias='customer')
     if not my_keys.is_key_registered(
             customer_key_id) and keys_synchronizer.is_synchronized():
         lg.info(
             'customer key was not found but we know that all keys are in sync, generate new key: %s'
             % customer_key_id)
         my_keys.generate_key(customer_key_id,
                              key_size=settings.getPrivateKeySize())
Esempio n. 6
0
 def test_regression(self):
     from logs import lg
     from crypt import my_keys
     lg.set_debug_level(30)
     for i in range(3):
         key_id = 'test_key_%d' % i
         my_keys.erase_key(key_id, keys_folder='/tmp/')
         my_keys.generate_key(key_id, key_size=1024, keys_folder='/tmp/')
         is_valid = my_keys.validate_key(my_keys.key_obj(key_id))
         if not is_valid:
             print(key_id)
             print(my_keys.get_private_key_raw(key_id))
         else:
             my_keys.erase_key(key_id, keys_folder='/tmp/')
         self.assertTrue(is_valid)
Esempio n. 7
0
 def start(self):
     from contacts import contactsdb
     from crypt import my_keys
     from customer import supplier_connector
     from userid import my_id
     from logs import lg
     customer_key_id = my_id.getGlobalID(key_alias='customer')
     if not my_keys.is_key_registered(customer_key_id):
         lg.warn('customer key was not found, generate new key: %s' % customer_key_id)
         my_keys.generate_key(customer_key_id)
     for supplier_idurl in contactsdb.suppliers():
         if supplier_idurl and not supplier_connector.by_idurl(supplier_idurl, customer_idurl=my_id.getLocalID()):
             supplier_connector.create(supplier_idurl, customer_idurl=my_id.getLocalID())
     # TODO: read from dht and connect to other suppliers - from other customers who shared data to me
     return True
Esempio n. 8
0
def generate_group_key(creator_id=None, label=None, key_size=4096):
    group_key_id = None
    group_alias = None
    while True:
        random_sample = os.urandom(24)
        group_alias = 'group_%s' % strng.to_text(key.HashMD5(random_sample, hexdigest=True))
        group_key_id = my_keys.make_key_id(alias=group_alias, creator_glob_id=creator_id)
        if my_keys.is_key_registered(group_key_id):
            continue
        break
    if not label:
        label = 'group%s' % utime.make_timestamp()
    my_keys.generate_key(key_id=group_key_id, label=label, key_size=key_size)
    my_keys.sign_key(key_id=group_key_id)
    if _Debug:
        lg.args(_DebugLevel, group_key_id=group_key_id, group_alias=group_alias, creator_id=creator_id, label=label)
    return group_key_id