python实现从证书中提取公私钥信息及公私钥加解密

本文介绍了如何使用Python从证书中提取公私钥信息,并展示了利用这些信息进行公钥加密和私钥解密的过程。在实际应用中,通常会用公钥对AES密钥进行加密,然后使用私钥解密,以确保数据的安全传输。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述:

公钥加密:发送者用公钥对传送数据进行加密

私钥解密:接收者用私钥对接收数据进行解密

公钥和私钥必须是一对,公钥是公开的,任何都可以知道;私钥是保密的,不可以泄露和被窃取;

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:证书密码
        :return:私钥
        """
        pfx = crypto.load_pkcs12(open(pfx_file_path, 'rb').read(), password)
        res = crypto.dump_privatekey(crypto.FILETYPE_PEM, pfx.get_pri
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值