gmssl 将字符串类型的私钥转成EC_KEY
时间: 2023-10-25 07:08:55 浏览: 44
在gmssl中,可以使用`sm2.load_private_key()`函数将PEM或DER格式的私钥加载为EC_KEY对象。如果你已经有一个字符串类型的私钥,可以先将其转换成bytes类型,然后再使用`sm2.load_private_key()`函数进行加载。
下面是一个将字符串类型私钥转换成EC_KEY对象的示例代码:
```python
from gmssl import sm2, func
# 字符串类型的私钥
pri_key_str = "308193020100301306072a8648ce3d020106082a811ccf5501822d0479307702010104202f29d5c7bea16f7a8b0e1d9b62e4b7b0f1a7f8d4a1bfaee3cf9cf9d73a7f1a5a00a06082a811ccf5501822da14403420004d2f4f2a3c3c8a9f1f5f5c8d1a6a72b3c24a6c3978a08b9d7e6c9f1e5e9b8f0b7e12d20fc2f7d17acf0a6cf8e70c9e3e2b5d7c2a57f7c2c3a1a6f0fbc6d9f25d"
# 将字符串类型私钥转换成bytes类型
pri_key_bytes = bytes.fromhex(pri_key_str)
# 加载私钥为EC_KEY对象
pri_key = sm2.load_private_key(pri_key_bytes)
# 打印EC_KEY对象
print(pri_key)
```
在以上代码中,我们首先将字符串类型的私钥转换成bytes类型,然后使用`sm2.load_private_key()`函数将其加载为EC_KEY对象。最终,我们打印出了加载后的EC_KEY对象,你可以使用该对象进行加密、签名等操作。