in signature/python2/alibabacloud_darabonba_signature_util/signer.py [0:0]
def sha256with_rsasign(string_to_sign, secret):
"""
SHA256withRSA Signature
@type string_to_sign: str
@param string_to_sign: string
@type secret: str
@param secret: string
@return: signed bytes
"""
string_to_sign = string_to_sign.encode('utf-8')
secret = secret.encode('utf-8')
if not secret.startswith(b'-----BEGIN RSA PRIVATE KEY-----'):
secret = b'-----BEGIN RSA PRIVATE KEY-----\n%s' % secret
if not secret.endswith(b'-----END RSA PRIVATE KEY-----'):
secret = b'%s\n-----END RSA PRIVATE KEY-----' % secret
key = load_pem_private_key(secret, password=None, backend=default_backend())
return key.sign(string_to_sign, padding.PKCS1v15(), hashes.SHA256())