1 Star 0 Fork 0

dqc / gmsm

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.go 1.04 KB
一键复制 编辑 原始数据 按行查看 历史
dqc 提交于 2022-11-05 19:09 . update cert_test/main.go.
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)
}
}
1
https://gitee.com/dqc_123/gmsm.git
git@gitee.com:dqc_123/gmsm.git
dqc_123
gmsm
gmsm
3b37d29bc263

搜索帮助