1 min read

OpenSSL 生成国密SM2密钥对

要点:openssl 的版本必须为1.1.1+

查看openssl 是否支持SM2

# openssl ecparam -list_curves | grep SM2
如果有输出就说明支持。

生成 CA 密钥对

生成CA私钥

# openssl ecparam -genkey -name SM2 -out CA-Key.pem 256

自签CA证书

# openssl req -new -x509 -days 36500 -extensions v3_ca -key CA-Key.pem -out CA.pem -subj "/C=CN/ST=GuangDong/L=GuangZhou/O=Vqiu Corporation/OU=Vqiu Trust Network/CN=Vqiu Secure Server CA Root"

生成crl文件,供吊销证书使用(可选)

openssl ca -gencrl -crldays 36500 -out CA-crl.pem

验证CA证书

openssl x509 -noout -text -in CA.pem

校验

openssl verify -verbose -CAfile CA.pem server.pem

生成证书证书

# openssl ecparam -genkey -name SM2 -out  server.pem

生成CSR

openssl req -new -sha512 -key server.pem -out server.csr -subj '/C=CN/ST=GuangDong/L=GuangZhou/O=vqiu/OU=IT/CN=t1.vqiu.cn'

证书签发

openssl ca -keyfile CA-Key.pem -cert CA.pem -in server.csr -out server.pem

验证

openssl verify -verbose -CAfile CA.pem server.pem