nothing-unencr
quadrismegistus 4 years ago
parent 12dedf2b46
commit c263916bab

@ -221,6 +221,17 @@ class Keymaker(Logger):
keychain_toreturn[key]=keychain[key] keychain_toreturn[key]=keychain[key]
return keychain_toreturn return keychain_toreturn
def save_uri_as_qrcode(self,name=None,uri_id=None):
if not uri_id: uri_id = get_random_id() + get_random_id()
uri_id = self.uri_id
if not uri_id and not self.uri_id: raise KomradeException('Need URI id to save!')
# gen
import pyqrcode
qr = pycode.create(uri_id)
ofnfn = os.path.join(PATH_QRCODES,self.name+'.png')
qr.png(ofnfn)
self.log('>> saved:',ofnfn)
def save_keychain(self,name,keychain,keys_to_save=None,uri_id=None): def save_keychain(self,name,keychain,keys_to_save=None,uri_id=None):
if not keys_to_save: keys_to_save = list(keychain.keys()) if not keys_to_save: keys_to_save = list(keychain.keys())

@ -418,18 +418,22 @@ def create_phonelines():
phone_keys_to_keep_on_server = ['pubkey_decr'] # sent to phone phone_keys_to_keep_on_server = ['pubkey_decr'] # sent to phone
# create keys for Op # create keys for Op
op_decr_keys = op.forge_new_keys( op_uri,op_decr_keys = op.forge_new_keys(
keys_to_save=op_keys_to_keep_on_server, # on server only; flipped around keys_to_save=op_keys_to_keep_on_server, # on server only; flipped around
keys_to_return=op_keys_to_keep_on_client + op_keys_to_keep_on_3rdparty # on clients only keys_to_return=op_keys_to_keep_on_client + op_keys_to_keep_on_3rdparty # on clients only
) )
# create keys for phone # create keys for phone
phone_decr_keys = phone.forge_new_keys( phone_uri,phone_decr_keys = phone.forge_new_keys(
name=TELEPHONE_NAME, name=TELEPHONE_NAME,
keys_to_save=phone_keys_to_keep_on_server, # on server only keys_to_save=phone_keys_to_keep_on_server, # on server only
keys_to_return=phone_keys_to_keep_on_client + phone_keys_to_keep_on_3rdparty # on clients only keys_to_return=phone_keys_to_keep_on_client + phone_keys_to_keep_on_3rdparty # on clients only
) )
# store URIs
op.save_uri_as_qrcode()
phone.save_uri_as_qrcode()
## store remote keys ## store remote keys
THIRD_PARTY_DICT = {OPERATOR_NAME:{}, TELEPHONE_NAME:{}} THIRD_PARTY_DICT = {OPERATOR_NAME:{}, TELEPHONE_NAME:{}}
for key in op_keys_to_keep_on_3rdparty: for key in op_keys_to_keep_on_3rdparty:

@ -13,15 +13,17 @@ import os
PATH_KOMRADE = os.path.abspath(os.path.join(os.path.expanduser('~'),'.komrade')) PATH_KOMRADE = os.path.abspath(os.path.join(os.path.expanduser('~'),'.komrade'))
PATH_KOMRADE_KEYS = os.path.join(PATH_KOMRADE,'.keys') PATH_KOMRADE_KEYS = os.path.join(PATH_KOMRADE,'.keys')
PATH_KOMRADE_DATA = os.path.join(PATH_KOMRADE,'.data') PATH_KOMRADE_DATA = os.path.join(PATH_KOMRADE,'.data')
for x in [PATH_KOMRADE,PATH_KOMRADE_DATA,PATH_KOMRADE_KEYS]:
if not os.path.exists(x):
os.makedirs(x)
PATH_CRYPT_OP_KEYS = os.path.join(PATH_KOMRADE_KEYS,'.op.db.keys.crypt') PATH_CRYPT_OP_KEYS = os.path.join(PATH_KOMRADE_KEYS,'.op.db.keys.crypt')
PATH_CRYPT_OP_DATA = os.path.join(PATH_KOMRADE_DATA,'.op.db.data.encr') PATH_CRYPT_OP_DATA = os.path.join(PATH_KOMRADE_DATA,'.op.db.data.encr')
# PATH_CRYPT_CA_KEYS = os.path.join(PATH_KOMRADE_KEYS,'.ca.db.keys.crypt') # PATH_CRYPT_CA_KEYS = os.path.join(PATH_KOMRADE_KEYS,'.ca.db.keys.crypt')
# PATH_CRYPT_CA_DATA = os.path.join(PATH_KOMRADE_DATA,'.ca.db.data.encr') # PATH_CRYPT_CA_DATA = os.path.join(PATH_KOMRADE_DATA,'.ca.db.data.encr')
PATH_CRYPT_CA_KEYS = PATH_CRYPT_OP_KEYS PATH_CRYPT_CA_KEYS = PATH_CRYPT_OP_KEYS
PATH_CRYPT_CA_DATA = PATH_CRYPT_OP_DATA PATH_CRYPT_CA_DATA = PATH_CRYPT_OP_DATA
PATH_QRCODES = os.path.join(PATH_KOMRADE,'.contacts')
for x in [PATH_KOMRADE,PATH_KOMRADE_DATA,PATH_KOMRADE_KEYS,PATH_QRCODES]:
if not os.path.exists(x):
os.makedirs(x)
# etc # etc
BSEP=b'||||||||||' BSEP=b'||||||||||'
@ -133,6 +135,8 @@ PATH_OPERATOR_WEB_KEYS_FILE = f'/home/ryan/www/website-komrade/.builtin.keys'
PATH_OPERATOR_WEB_KEYS_URL = f'http://{KOMRADE_URL}/.builtin.keys' PATH_OPERATOR_WEB_KEYS_URL = f'http://{KOMRADE_URL}/.builtin.keys'
PATH_URI_CODES =
# dangerous! leave on only if absolutely necessary for initial dev # dangerous! leave on only if absolutely necessary for initial dev
ALLOW_CLEARNET = True ALLOW_CLEARNET = True
Loading…
Cancel
Save