如何通过SubjectPublicKeyInfo获取SM2算法公钥的Base64编码
时间: 2024-02-21 14:01:58 浏览: 238
基于MD5+RSA的数字签名算法的python应用
可以通过以下步骤获取SM2算法公钥的Base64编码:
1. 解析SubjectPublicKeyInfo,获取SM2算法公钥的DER编码。
2. 将SM2算法公钥的DER编码进行Base64编码,即可得到SM2算法公钥的Base64编码。
具体实现可以参考以下代码(假设SM2算法公钥的SubjectPublicKeyInfo编码为spki):
```python
import base64
from cryptography.hazmat.primitives.asymmetric import ec
from cryptography.hazmat.primitives.serialization import Encoding, PublicFormat, \
load_der_public_key
# 解析SubjectPublicKeyInfo,获取SM2算法公钥的DER编码
public_key = load_der_public_key(spki)
sm2_public_key_der = public_key.public_bytes(Encoding.DER, PublicFormat.SubjectPublicKeyInfo)
# 将SM2算法公钥的DER编码进行Base64编码,即可得到SM2算法公钥的Base64编码
sm2_public_key_base64 = base64.b64encode(sm2_public_key_der).decode()
```
执行以上代码后,可以得到SM2算法公钥的Base64编码。
阅读全文