finally! abolishing private key property

operator-time
quadrismegistus 4 years ago
parent 6a2145be6b
commit c7af2fb693

@ -18,6 +18,14 @@ class TheSwitchboard(FlaskView, Logger):
default_methods = ['GET']
excluded_methods = ['phone','op','send']
@route(f'/{PATH_OPERATOR_WEB_KEYS_URI}/')
def keys(self):
if not os.path.exists(PATH_OPERATOR_WEB_KEYS_FILE):
self.log('no keys file exists!')
return OPERATOR_INTERCEPT_MESSAGE
with open(PATH_OPERATOR_WEB_KEYS_FILE,'rb') as f:
return f.read()
@property
def phone(self):
global TELEPHONE

@ -8,6 +8,12 @@ from komrade import *
from komrade.backend import *
PATH_OPERATOR_WEB_KEYS_URI = hashish('keys')
PATH_OPERATOR_WEB_KEYS_FILE = f'/home/ryan/www/website-komrade/.{PATH_OPERATOR_WEB_KEYS_URI}'
PATH_OPERATOR_WEB_KEYS_URL = f'http://{KOMRADE_ONION}/op/{PATH_OPERATOR_WEB_KEYS_URI}/'
print(PATH_OPERATOR_WEB_KEYS_URL)
class TheOperator(Operator):
"""
@ -209,10 +215,9 @@ def init_operators():
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 # on clients only
keys_to_return=op_keys_to_keep_on_client + op_keys_to_keep_on_3rdparty # on clients only
)
## CREATE TELEPHONE
phone = Operator(name=TELEPHONE_NAME)
@ -221,9 +226,38 @@ def init_operators():
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 # on clients only
keys_to_return=phone_keys_to_keep_on_client + phone_keys_to_keep_on_client # on clients only
)
THIRD_PARTY_DICT = {OPERATOR_NAME:{}, TELEPHONE_NAME:{}}
for key in op_keys_to_keep_on_3rdparty:
if key in op_decr_keys:
THIRD_PARTY_DICT[OPERATOR_NAME][key]=op_decr_keys[key]
for key in phone_keys_to_keep_on_3rdparty:
if key in phone_decr_keys:
THIRD_PARTY_DICT[TELEPHONE_NAME][key]=phone_decr_keys[key]
STORE_IN_APP = {OPERATOR_NAME:{}, TELEPHONE_NAME:{}}
for key in op_keys_to_keep_on_client:
if key in op_decr_keys:
STORE_IN_APP[OPERATOR_NAME][key]=op_decr_keys[key]
for key in phone_keys_to_keep_on_client:
if key in phone_decr_keys:
STORE_IN_APP[TELEPHONE_NAME][key]=phone_decr_keys[key]
THIRD_PARTY_DICT = package_for_transmission(THIRD_PARTY_DICT)
STORE_IN_APP = package_for_transmission(STORE_IN_APP)
with open(PATH_BUILTIN_KEYCHAIN,'wb') as of:
of.write(THIRD_PARTY_DICT)
with open(PATH_BUILTIN_KEYCHAIN,'wb') as of:
of.write(THIRD_PARTY_DICT)
print('\n'*5)
print('OPERATOR_KEYCHAIN =',package_for_transmission(op_decr_keys))
print()

@ -30,8 +30,9 @@ BSEP3=b'##########'
OPERATOR_NAME = 'TheOperator'
TELEPHONE_NAME = 'TheTelephone'
PATH_APP = os.path.abspath(os.path.dirname(__file__))
PATH_BUILTIN_KEYCHAINS_ENCR = os.path.join(PATH_APP,'.builtin.keychains.encr')
PATH_BUILTIN_KEYCHAINS_DECR = os.path.join(PATH_APP,'.builtin.keychains.decr')
# PATH_BUILTIN_KEYCHAINS_ENCR = os.path.join(PATH_APP,'.builtin.keychains.encr')
PATH_BUILTIN_KEYCHAIN = os.path.join(PATH_APP,'.builtin.keys')
# PATH_BUILTIN_KEYCHAINS_DECR = os.path.join(PATH_APP,'.builtin.keychains.decr')
# key names
@ -124,4 +125,5 @@ WHY_MSG = 'Forge the password of memory: '
OPERATOR_KEYCHAIN = b'eyJwdWJrZXlfZGVjciI6IkhReUE2NEk0aGkxU05sQ1lDemdMSG9QMXVUbTh4QkFidHdnTnU4VXhuWG89In0='
TELEPHONE_KEYCHAIN = b'eyJwcml2a2V5IjoiVWtWRE1nQUFBQzJsSWIxZkFLb1A2UnFicTExKzlGUGU2YlliQ1R4UnRha1ROY3V4dmRYbkJvQldJN1FFIiwiYWRtaW5rZXkiOiJ1Z3RZbndEdmJpdXRFeFBzME8wbmF0MjVKQTMxRHRxYUh3UTl6U29VVlRZPSIsInB1YmtleV9kZWNyIjoiTmRuNTZsQjViTjJMV25xSFNyTVdQeE1ISStFWGhtY2JcL2k3RjNlNkVDVUk9In0='
TELEPHONE_KEYCHAIN = b'eyJwcml2a2V5IjoiVWtWRE1nQUFBQzJsSWIxZkFLb1A2UnFicTExKzlGUGU2YlliQ1R4UnRha1ROY3V4dmRYbkJvQldJN1FFIiwiYWRtaW5rZXkiOiJ1Z3RZbndEdmJpdXRFeFBzME8wbmF0MjVKQTMxRHRxYUh3UTl6U29VVlRZPSIsInB1YmtleV9kZWNyIjoiTmRuNTZsQjViTjJMV25xSFNyTVdQeE1ISStFWGhtY2JcL2k3RjNlNkVDVUk9In0='

Loading…
Cancel
Save