import base64 import json import sys from datetime import datetime from Crypto.Signature import pkcs1_15 from Crypto.Hash import SHA512 from Crypto.PublicKey import RSA secret_private = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC1jbbJoGtk6AKjY+Cy15/2gIdq9zOU51BuNZVrTRnribWWph1cNV+BdhkYlikW9tlO+0PFm4BfJzbIu+F9HsuydyxKIf5dlc6YTbVPrnaMgL5N1N64lkE7VOpVxmgjvR8aeetNw99qRRzB60OExrYomhg4R6Gv9c2kCuV04HISvIXSRTwkTYrz9MvTOGUfRry85L6Uz3H5aebiXGVrE/+v/6J2WyCiMU/2XRDlUeGLXtp9jQKH24CVgyk8vLKTL8oC8DKj3RNN3ArTlCYMx/D9wfxDrZpy1boP8XqXIj7Wh1Cov5Ui7EHWUz68PZAP4ihwEgKZ4Xx4/DliEGV0JhJvAgMBAAECggEAE3hfikoA78ZjRLXZCspNu7gsTaVgdm9EKeg8iPsGH5jEzPjYRzjrcCKD2Ht/a+4Mf12PoWk8ICLqy3uSrWzDDaBIM1Rn8g4Mejrt3zNnlUktSi2HtntZWDfoFaDR2ZtWSEGboYWzDQjdElLdCn1BBc5Yxe2wrQKLC4pQ8fLWvk7Oapzvt19JKhrwD7lHXB3qS8pgGBU5sp7wLM8wj1JNuv4d+QstQSRHEfLLJnCsXNsVPbZaDW3ln6lPzxInJ95OFCYzrhOuawD/lvOQQMWLo/VkxRZdO80txyx77EICqhgHHsRY94x4ou8rO+h6VG0+FaixZ8OM6+kULpsQ7imWQQKBgQDGy5anZBLqKMzcA4nf8d5ursnVwemlkkEnwSzE0d6YkP5HwFeK5TzECZAbTa4xXlmxSf8hb+25MsXrG2+L9hxBRbzXGdqOWDxEyWdSNqHHl29KUgMxldTnwkd8BtDm82MyxIULhg6aSGh/G5QiNG92XzF+y4BPjcJKMXuCv2k4IQKBgQDpzACPOjy4nN6Y19QLyTs+2kxBjFISGY2KC3bMbBWQ/FwG7hCpk9ybuYt9XEActlWkbmTQT1sY9IKq/Ms0vszfnjfFZsAZs8dVLP2pwS0ai2z6lIlo8Tc0qNw1GZDYZkQ8JJ8T1V4m0TL+2D5C1PGXHaItzfsEggJu1LkuRwi4jwKBgQCitfY8UgutPvHWTssl0ik2PLgUzp+3lkrgCBvliMWB6INIJSVCGTkwV4ds4Zrm64vMMX2yV5Oi1uzp703QqAMeZb8X7CBYC95gityXjQHDhK5hjVjx1+ooO3sZB9cqgSG7ZuBiuznui7+D8gXALVzh7S5s0pHWC3hwE6o9LQApIQKBgQDTcKHY5qxfsc9Gn3qwJg+kqjxo04StxdpRzEhmXCGs++4mfksncggD9ewHNdTtoqEVkpkuI3aZvRgnl3QXga87VZXOuzxkgkh16biHO6OU7B9lB8y10eFBiK2OgE6UxvhTBDOx9jeuF2htPhggzQCo0C4KCs1HqGSW41+OUMO8VQKBgBH52u/F2XAQ89p5HKal8UHZaIq9A7GX411y1b5iNyWFKS+U0os3kb5+v1pgkrfEe2VauepLcpIbs2Qm1rPbqjBcpWepFkSn3mSWEZ9s0UkdvKImcjtPeC+K6pAc/BtY4w7NiSQNw+6Bre4YlVT19zldGZBJ8nh6EEkjGrJ5eaQ5" key_id = "2351020647" # secret_private = sys.argv[1] # key_id = sys.argv[2] def generate(): key = RSA.import_key(base64.b64decode(secret_private)) # формируем строку для подписи sdt = datetime.now().isoformat()+"+03:00" to_sign = key_id + sdt # print("Get hash from: " + to_sign) # формируем хеш hash = SHA512.new(to_sign.encode()) # формируем подпись binary_signature = pkcs1_15.new(key).sign(hash) signature = base64.b64encode(binary_signature).decode('utf-8') # print("SIGN: " + signature) # формируем результат в формате JSON result = { "keyId": key_id, "timestamp": sdt, "signature": signature } return json.dumps(result) if __name__ == "__main__": print(generate()) pass