|
|
|
@ -71,27 +71,37 @@ def test():
|
|
|
|
|
print(decrypted_message)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def save_keys():
|
|
|
|
|
private_key, public_key = generate_keys()
|
|
|
|
|
|
|
|
|
|
with open("private_key.pem", "wb") as f:
|
|
|
|
|
f.write(private_key)
|
|
|
|
|
|
|
|
|
|
with open("public_key.pem", "wb") as f:
|
|
|
|
|
f.write(public_key)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 主程序
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
|
parser = argparse.ArgumentParser(description='manual to sign enterprise license')
|
|
|
|
|
parser.add_argument("--o", type=str, help="operation type", required=True) # name, t/test, s/sign, g/generate key, d/decrypt
|
|
|
|
|
parser.add_argument("--c", type=str, help="enterprise's sys code") # code
|
|
|
|
|
parser.add_argument("--e", type=str, help="expire date") # expire
|
|
|
|
|
parser.add_argument("-o", type=str,
|
|
|
|
|
help="operation type, "
|
|
|
|
|
"'t' is for function test, "
|
|
|
|
|
"'s' is to sign and save license, "
|
|
|
|
|
"'g' is to generate keys and save them, "
|
|
|
|
|
"'d' is to decrypt license",
|
|
|
|
|
required=True) # name, t/test, s/sign, g/generate key, d/decrypt
|
|
|
|
|
parser.add_argument("-c", type=str, help="enterprise's sys code, its something code like MD5") # code
|
|
|
|
|
parser.add_argument("-e", type=str, help="expire date, eg: 2035-01-01") # expire
|
|
|
|
|
|
|
|
|
|
args = parser.parse_args()
|
|
|
|
|
operation = args.o
|
|
|
|
|
if operation == "t":
|
|
|
|
|
if operation == "t": # test
|
|
|
|
|
test()
|
|
|
|
|
elif operation == "g":
|
|
|
|
|
private_key, public_key = generate_keys()
|
|
|
|
|
|
|
|
|
|
with open("private_key.pem", "wb") as f:
|
|
|
|
|
f.write(private_key)
|
|
|
|
|
|
|
|
|
|
with open("public_key.pem", "wb") as f:
|
|
|
|
|
f.write(public_key)
|
|
|
|
|
elif operation == "g": # generate keys and save
|
|
|
|
|
save_keys()
|
|
|
|
|
|
|
|
|
|
elif operation == "s":
|
|
|
|
|
elif operation == "s": # sign and save license
|
|
|
|
|
code = args.c
|
|
|
|
|
expire = args.e
|
|
|
|
|
if not code or not expire:
|
|
|
|
@ -104,7 +114,7 @@ if __name__ == "__main__":
|
|
|
|
|
|
|
|
|
|
with open("license", "wb") as f:
|
|
|
|
|
f.write(license)
|
|
|
|
|
elif operation == "d":
|
|
|
|
|
elif operation == "d": # decrypt license
|
|
|
|
|
private_key = open("private_key.pem", "r").read()
|
|
|
|
|
with open("license", "rb") as f:
|
|
|
|
|
license = f.read()
|
|
|
|
|