def authBykey(pubkeydir, privkeyString, passph):
# encrypt with pubkey
if pubkeydir[-1] != '/':
pubkeydir = pubkeydir + "/"
try:
pkey = open(pubkeydir + "public_key.pem", "rt")
public_key = RSA.importKey(pkey.read())
pkey.close()
except FileNotFoundError as e:
res = {"error": True, "message": 'ERROR: Public key not found.'}
return(res)
except:
res = {"error": True, "message": 'ERROR: Problem reading public key'}
return(res)
randomData = Random.get_random_bytes(32)
enc_data = public_key.encrypt(b'success', randomData)
# decrypt with private key
private_key = RSA.importKey(privkeyString, passph)
dec_data = private_key.decrypt(enc_data)
if dec_data == b'success':
# self.__token = SHA256.new(private_key.exportKey()).digest()
res = {"error": False, "message": "INFO: Successfully authenticated"}
return(res)
else:
res = {"error": True, "message": 'ERROR: Unable to authenticate'}
return(res)
评论列表
文章目录