fix keymanager formatting

master
Kevin Froman 2020-02-06 16:00:06 -06:00
parent 2319ff8344
commit b8c288259b
1 changed files with 19 additions and 16 deletions

View File

@ -1,9 +1,11 @@
''' """Onionr - Private P2P Communication.
Onionr - Private P2P Communication
Load, save, and delete the user's public key pairs (does not handle peer keys) Load, save, and delete the user's public key pairs (does not handle peer keys)
''' """
''' from onionrutils import bytesconverter
from onionrcrypto import generate
import filepaths
"""
This program is free software: you can redistribute it and/or modify This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or the Free Software Foundation, either version 3 of the License, or
@ -16,18 +18,18 @@
You should have received a copy of the GNU General Public License You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>. along with this program. If not, see <https://www.gnu.org/licenses/>.
''' """
from onionrutils import bytesconverter
from onionrcrypto import generate
import os
import filepaths
class KeyManager: class KeyManager:
def __init__(self): def __init__(self):
self.keyFile = filepaths.keys_file self.keyFile = filepaths.keys_file
def addKey(self, pubKey=None, privKey=None): def addKey(self, pubKey=None, privKey=None):
'''Add a new key pair, either specified or none to generate a new pair automatically''' """Add a new key pair.
either specified or None to generate a new pair automatically
"""
if type(pubKey) is type(None) and type(privKey) is type(None): if type(pubKey) is type(None) and type(privKey) is type(None):
pubKey, privKey = generate.generate_pub_key() pubKey, privKey = generate.generate_pub_key()
pubKey = bytesconverter.bytes_to_str(pubKey) pubKey = bytesconverter.bytes_to_str(pubKey)
@ -43,7 +45,7 @@ class KeyManager:
return (pubKey, privKey) return (pubKey, privKey)
def removeKey(self, pubKey): def removeKey(self, pubKey):
'''Remove a key pair by pubkey''' """Remove a key pair by pubkey"""
keyList = self.getPubkeyList() keyList = self.getPubkeyList()
keyData = '' keyData = ''
try: try:
@ -56,7 +58,7 @@ class KeyManager:
keyFile.write(keyData) keyFile.write(keyData)
def getPubkeyList(self): def getPubkeyList(self):
'''Return a list of the user's keys''' """Return a list of the user's keys"""
keyList = [] keyList = []
try: try:
with open(self.keyFile, "r") as keyFile: with open(self.keyFile, "r") as keyFile:
@ -65,9 +67,10 @@ class KeyManager:
keyData = '' keyData = ''
keyData = keyData.split('\n') keyData = keyData.split('\n')
for pair in keyData: for pair in keyData:
if len(pair) > 0: keyList.append(pair.split(',')[0]) if len(pair) > 0:
keyList.append(pair.split(',')[0])
return keyList return keyList
def getPrivkey(self, pubKey): def getPrivkey(self, pubKey):
privKey = None privKey = None
with open(self.keyFile, "r") as keyFile: with open(self.keyFile, "r") as keyFile:
@ -75,4 +78,4 @@ class KeyManager:
for pair in keyData.split('\n'): for pair in keyData.split('\n'):
if pubKey in pair or pubKey.replace('=', '') in pair: if pubKey in pair or pubKey.replace('=', '') in pair:
privKey = pair.split(',')[1] privKey = pair.split(',')[1]
return privKey return privKey