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

@ -221,6 +221,17 @@ class Keymaker(Logger):
keychain_toreturn[key]=keychain[key]
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):
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
# 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_return=op_keys_to_keep_on_client + op_keys_to_keep_on_3rdparty # on clients only
)
# create keys for phone
phone_decr_keys = phone.forge_new_keys(
phone_uri,phone_decr_keys = phone.forge_new_keys(
name=TELEPHONE_NAME,
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
)
# store URIs
op.save_uri_as_qrcode()
phone.save_uri_as_qrcode()
## store remote keys
THIRD_PARTY_DICT = {OPERATOR_NAME:{}, TELEPHONE_NAME:{}}
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_KEYS = os.path.join(PATH_KOMRADE,'.keys')
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_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_DATA = os.path.join(PATH_KOMRADE_DATA,'.ca.db.data.encr')
PATH_CRYPT_CA_KEYS = PATH_CRYPT_OP_KEYS
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
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_URI_CODES =
# dangerous! leave on only if absolutely necessary for initial dev
ALLOW_CLEARNET = True
Loading…
Cancel
Save