from cryptography.hazmat.backends import default_backend
from cryptography.hazmat.primitives.asymmetric import rsa
private_key = rsa.generate_private_key(
public_exponent=65537,
key_size=2048,
backend=default_backend()
)
# Sign a message using the key
from cryptography.hazmat.primitives import hashes
from cryptography.hazmat.primitives.asymmetric import padding
message = b"A message I want to sign"
signature = private_key.sign(
message,
padding.PSS(
mgf=padding.MGF1(hashes.SHA256()),
salt_length=padding.PSS.MAX_LENGTH
),
hashes.SHA256()
)
ZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LmJhY2tlbmRzIGltcG9ydCBkZWZhdWx0X2JhY2tlbmQKZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQgcnNhCnByaXZhdGVfa2V5ID0gcnNhLmdlbmVyYXRlX3ByaXZhdGVfa2V5KAogICAgcHVibGljX2V4cG9uZW50PTY1NTM3LAogICAga2V5X3NpemU9MjA0OCwKICAgIGJhY2tlbmQ9ZGVmYXVsdF9iYWNrZW5kKCkKKQoKIyBTaWduIGEgbWVzc2FnZSB1c2luZyB0aGUga2V5CmZyb20gY3J5cHRvZ3JhcGh5Lmhhem1hdC5wcmltaXRpdmVzIGltcG9ydCBoYXNoZXMKZnJvbSBjcnlwdG9ncmFwaHkuaGF6bWF0LnByaW1pdGl2ZXMuYXN5bW1ldHJpYyBpbXBvcnQgcGFkZGluZwptZXNzYWdlID0gYiJBIG1lc3NhZ2UgSSB3YW50IHRvIHNpZ24iCnNpZ25hdHVyZSA9IHByaXZhdGVfa2V5LnNpZ24oCiAgICBtZXNzYWdlLAogICAgcGFkZGluZy5QU1MoCiAgICAgICAgbWdmPXBhZGRpbmcuTUdGMShoYXNoZXMuU0hBMjU2KCkpLAogICAgICAgIHNhbHRfbGVuZ3RoPXBhZGRpbmcuUFNTLk1BWF9MRU5HVEgKICAgICksCiAgICBoYXNoZXMuU0hBMjU2KCkKKQo=