代码拉取完成,页面将自动刷新
package cert_test
import (
"crypto/rand"
"gitee.com/dqc_123/gmsm/sm2"
"gitee.com/dqc_123/gmsm/x509"
"os"
)
func CreatePem() {
//1.生成sm2密钥对
privateKey, err := sm2.GenerateKey(rand.Reader)
if err != nil {
panic(err)
}
//2.通过x509将私钥反序列化并进行pem编码
privateKeyToPem, err := x509.WritePrivateKeyToPem(privateKey, nil)
if err != nil {
panic(err)
}
//3.将私钥写入磁盘文件
file, err := os.Create("./sm2Private.pem")
if err != nil {
panic(err)
}
defer file.Close()
_, err = file.Write(privateKeyToPem)
if err != nil {
panic(err)
}
//4.进行SM2公钥断言
publicKey := privateKey.Public().(*sm2.PublicKey)
//5.将公钥通过x509序列化并进行pem编码
publicKeyToPem, err := x509.WritePublicKeyToPem(publicKey)
if err != nil {
panic(err)
}
//6.将公钥写入磁盘文件
file, err = os.Create("./sm2Public.pem")
if err != nil {
panic(err)
}
defer file.Close()
_, err = file.Write(publicKeyToPem)
if err != nil {
panic(err)
}
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。