openssl没有sm2p256v1
时间: 2023-10-11 22:08:51 浏览: 292
是的,OpenSSL默认情况下不支持SM2P256V1曲线。不过,你可以通过使用OpenSSL的EC库来实现SM2P256V1曲线的支持。具体来说,你需要使用EC_KEY_new_by_curve_name()函数来创建一个SM2P256V1曲线的EC_KEY对象,并将其用于SM2加解密和签名验签操作。同时,你还需要安装OpenSSL的EC插件,以便支持SM2P256V1曲线的椭圆曲线计算。
相关问题
c语言 openssl生成sm2 csr
要使用OpenSSL生成SM2的CSR(证书签名请求),可以按照以下步骤操作:
1. 生成私钥
使用以下命令生成SM2私钥:
```
openssl ecparam -name sm2p256v1 -genkey -noout -out sm2.key
```
该命令将生成一个名为“sm2.key”的SM2私钥文件。
2. 生成CSR
使用以下命令生成SM2 CSR:
```
openssl req -new -key sm2.key -out sm2.csr -subj "/C=CN/ST=GD/L=SZ/O=MyOrg/OU=MyUnit/CN=MyName/emailAddress=myemail@example.com"
```
其中,“/C=CN/ST=GD/L=SZ/O=MyOrg/OU=MyUnit/CN=MyName/emailAddress=myemail@example.com”是CSR的主题信息,可以根据实际情况进行修改。
该命令将生成一个名为“sm2.csr”的SM2 CSR文件。
3. 提交CSR
将生成的SM2 CSR文件提交给证书颁发机构(CA)进行签名,以获得SM2证书。
windows下使用OpenSSL生成sm2公钥和私钥
在 Windows 系统下,可以使用 OpenSSL 工具来生成 SM2 公钥和私钥。
首先,确保你已经安装了 OpenSSL 工具并将其添加到系统的环境变量中。
接下来,打开命令行工具(如 PowerShell 或者命令提示符),然后执行以下命令:
1. 生成 SM2 私钥:
```
openssl ecparam -name sm2p256v1 -genkey -noout -out private_key.pem
```
执行该命令后,会在当前目录下生成一个名为 private_key.pem 的文件,即为生成的 SM2 私钥。
2. 从私钥生成公钥:
```
openssl ec -in private_key.pem -pubout -out public_key.pem
```
执行该命令后,会在当前目录下生成一个名为 public_key.pem 的文件,即为从私钥生成的 SM2 公钥。
现在你已经成功生成了 SM2 的公钥和私钥。请注意妥善保管私钥,不要泄露给他人。
阅读全文