简述:
公钥加密:发送者用公钥对传送数据进行加密
私钥解密:接收者用私钥对接收数据进行解密
公钥和私钥必须是一对,公钥是公开的,任何都可以知道;私钥是保密的,不可以泄露和被窃取;
from ReapalApi.config.project_var import *
from OpenSSL import crypto
class ReadKey(object):
"""用于读取密钥"""
@staticmethod
def get_public_key(cer_file_path):
"""
从cer证书中提取公钥
:param cer_file: cer证书存放的路径
:return: 公钥
"""
cert = crypto.load_certificate(crypto.FILETYPE_ASN1, open(cer_file_path, "rb").read())
res = crypto.dump_publickey(crypto.FILETYPE_PEM, cert.get_pubkey()).decode("utf-8")
return res.strip()
@staticmethod
def get_private_key(pfx_file_path,password="123456"):
"""
从pfx证书中提取私钥,如果证书已加密,需要输入密码
:param pfx_file_path:pfx证书存放的路径
:param password:证书密码
:r