已知sm2公钥,如何生成pem文件
时间: 2024-02-18 17:59:41 浏览: 163
如果已知 SM2 公钥,可以通过以下步骤生成 PEM 证书文件:
1. 将 SM2 公钥转换为 DER 编码格式:
```
openssl asn1parse -genconf <(printf "[oid_secp256k1]\n 1.2.840.10045.3.1.7\n[oid_prime256v1]\n 1.2.840.10045.3.1.7\n[oid_sm2]\n 1.2.156.10197.1.301\n[req]\nreq_extensions = req_ext\n[req_ext]\nsubjectAltName = @alt_names\nkeyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment, keyAgreement\nbasicConstraints = CA:false\n[alt_names]\nDNS.0 = localhost\n" ) -out sm2_pubkey.der -noout -encode i2d "PUBLICKEY" -in sm2_pubkey.der
```
将上述命令中的 `sm2_pubkey.der` 替换为 SM2 公钥文件的路径。
2. 将 DER 编码格式的公钥转换为 PEM 格式:
```
openssl ec -inform der -in sm2_pubkey.der -pubin -outform pem -out sm2_pubkey.pem
```
该命令将从 DER 编码格式的 SM2 公钥中提取公钥,然后将其转换为 PEM 格式,并将其保存到 `sm2_pubkey.pem` 文件中。
现在,你已经生成了一个包含 SM2 公钥的 PEM 证书文件 `sm2_pubkey.pem`。
阅读全文