python pkcs8 私钥签名
python pkcs8 私钥签名
-
生成公私钥
openssl genrsa -out rsa_private_key.pem 2048 openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key_2048.pub openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt > rsa_private_key_pkcs8.pem
-
安装依赖
pip install pycryptodome
-
签名
from Crypto.Signature import PKCS1_v1_5 as pk from Crypto.Hash import SHA from Crypto.PublicKey import RSA import base64 origin_data = 'hello' def rsa_sign(des_reqdata): pkcs8_private_key = RSA.importKey(open('rsa_private_key_pkcs8.pem', 'r').read()) h = SHA.new(des_reqdata) signer = pk.new(pkcs8_private_key) signature = signer.sign(h) return base64.b64encode(signature) if __name__ == '__main__': data = rsa_sign(origin_data.encode()) print(data)
-
验签