Python:pyopenssl一个OpenSSL库函数的的高级接口

This package provides a high-level interface to the functions in the OpenSSL library. The following modules are defined: crypto、SSL

译文:这个包为OpenSSL库中的函数提供了一个高级接口。定义了以下模块:crypto、SSL

文档

安装

$ pip install pyopenssl

产生密钥对


from OpenSSL.crypto import PKey
from OpenSSL.crypto import TYPE_RSA, FILETYPE_PEM
from OpenSSL.crypto import dump_privatekey, dump_publickey


pk = PKey()

pk.generate_key(TYPE_RSA, 1024)

# PUBLIC KEY
dpub = dump_publickey(FILETYPE_PEM, pk)
print(dpub)

# PRIVATE KEY
dpri = dump_privatekey(FILETYPE_PEM, pk)
print(dpri)

签名与验证


from OpenSSL.crypto import PKey
from OpenSSL.crypto import TYPE_RSA
from OpenSSL.crypto import X509
from OpenSSL.crypto import sign, verify

pk = PKey()
pk.generate_key(TYPE_RSA, 1024)

# sign
signature = sign(pk, 'hello, world!'.encode('utf-8'), 'sha1')
print(signature)
# b'\xb2\xec\x01\xfc\x1ai\x1c...'

# verify 成功返回None,失败抛出异常:OpenSSL.crypto.Error
x509 = X509()
x509.set_pubkey(pk)
verify(x509, signature, 'hello, world!'.encode('utf-8'), 'sha1')

参考文章

  1. pyopenssl是一个封装了openssl的python模块
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值