2023-11-15 19:48:04 +00:00
|
|
|
import gnupg
|
|
|
|
|
|
|
|
|
|
|
|
def sign_message(message, private_key_path, passphrase_path):
|
|
|
|
gpg = gnupg.GPG()
|
|
|
|
|
|
|
|
with open(private_key_path, "r") as f:
|
|
|
|
private_key = f.read()
|
|
|
|
|
|
|
|
with open(passphrase_path, "r") as f:
|
|
|
|
passphrase = f.read()
|
|
|
|
|
2024-06-15 15:25:17 +00:00
|
|
|
import_result = gpg.import_keys(private_key, passphrase=passphrase)
|
2023-11-15 19:48:04 +00:00
|
|
|
|
|
|
|
signed_message = gpg.sign(
|
2024-06-15 15:25:17 +00:00
|
|
|
message, keyid=import_result.fingerprints[0], passphrase=passphrase,
|
|
|
|
extra_args=["--digest-algo", "SHA512"]
|
2023-11-15 19:48:04 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
# [print(name, getattr(signed_message, name)) for name in dir(signed_message) if not callable(getattr(signed_message, name))]
|
|
|
|
|
|
|
|
return signed_message.data.decode(encoding="UTF-8", errors="strict")
|