前言
首先我是找得到的gmssl
库,经过实操,发现公钥与密钥不能通过pem
文件得到,就是缺少导入pem
文件的api
。这个库的私钥与密钥是16进制的字符串编码,如果是想用这个,我就推荐几个网站吧。
因为我是需要需要通过pem
导入的,所以这种方法不适合我。
开始
在找到gmssl-python
这个依赖的时候,终于是我所需要的了,下面简单介绍一下他的功能。
gmssl-python通过调用本地安装的GmSSL动态库实现的实现的,建议使用服务器测试,具体可以查看参考文献1。
首先安装
pip install gmssl-python
生成公钥与私钥
import gmssl
# 创建一个Sm2Key对象
Sm2Key = gmssl.Sm2Key()
# 生成公钥与私钥
Sm2Key.generate_key()
# 导出密码为1234的私钥private_key.pem文件
Sm2Key.export_encrypted_private_key_info_pem("private_key.pem", "1234")
# 导出公钥public_key.pem文件
Sm2Key.export_public_key_info_pem("public_key.pem")