Refactoring work for rnid

This commit is contained in:
Mark Qvist
2026-05-07 15:46:17 +02:00
parent ac2cf79451
commit 23498a7a0a
+7 -9
View File
@@ -138,14 +138,11 @@ def main():
args = parser.parse_args()
validate_args(args)
if not args.read:
if args.encrypt: args.read = args.encrypt
if args.decrypt: args.read = args.decrypt
if args.sign: args.read = args.sign
if args.validate: args.read = args.validate
op_requires_identity = (args.sign or args.encrypt or args.decrypt or args.hash or args.announce or args.write
or args.print_identity or args.print_identity or args.export_pub or args.export_prv)
identity = get_operating_identity(args)
if not identity: print("Could not get working identity"); exit(9)
if not identity and op_requires_identity: print("Could not get working identity"); exit(R_NO_IDENTITY)
if args.print_identity: print_identity_information(args, identity)
if args.export_pub: export_pub_identity(args, identity)
if args.export_prv: export_prv_identity(args, identity)
@@ -428,19 +425,19 @@ def validate_rsg(rsg, message=None, required_signer=None):
if not "signer" in signed_data["meta"]: return False, None, None
if not "pubkey" in signed_data["meta"]: return False, None, None
if not "note" in signed_data["meta"]: return False, None, None
if signed_data["hash"] != rsg_hash: return False, None, None
try:
if required_signer:
signing_identity = required_signer
else:
signing_identity = RNS.Identity(create_keys=false)
signing_identity = RNS.Identity(create_keys=False)
signing_identity.load_public_key(signed_data["meta"]["pubkey"])
except: return False, None, None
if not signing_identity: return False, None, None
if signed_data["hash"] != rsg_hash: return False, None, signing_identity
else:
if not signing_identity.validate(signature, envelope): return False, signed_data, signing_identity
else: return True, signed_data, signing_identity
@@ -491,7 +488,8 @@ def validate(args, identity):
with open(file_path, "rb") as fh:
try:
valid, signed_data, signing_identity = validate_rsg(rsg, message=fh, required_signer=identity)
if not valid: print(f"Invalid signature {signature_path} for file {file_path}\nThis file was NOT signed by {identity}"); exit(R_INVALID_SIGNATURE)
signer_description = f"\nThis file was NOT signed by {identity or signing_identity}"
if not valid: print(f"Invalid signature {signature_path} for file {file_path}{signer_description}"); exit(R_INVALID_SIGNATURE)
else: print(f"Signature is valid, the file {file_path} was signed by {signing_identity}"); exit(R_OK)
except Exception as e: print(f"Error while validating {signature_path}: {e}"); exit(R_UNKNOWN_ERROR)