用gmssl制作国密SM2证书
以下做出的证书都是:
Signature Algorithm: sm2sign-with-sm3
创建
demoCA
目录,在
demoCA
目录下执行:
mkdir certs crl newcerts private
touch index.txt
echo "01" > serial
将通过以下自签名生成的
cacert.pem
放到
demoCA
目录下,
cakey.pem
放到
demoCA/private
创建公私钥和证书请求:
gmssl ecparam -genkey -name sm2p256v1 -out cakey.pem
gmssl req -new -sm3 -key cakey.pem -out cacsr.pem
自签名
gmssl req -x509 -sm3 -days 3650 -key cakey.pem -in cacsr.pem -out cacert.pem
ca
签名(在
demoCA
的父目录下执行)
gmssl ca -md sm3 -in client_csr.pem -out client_cert.pem -days 3650
显示证书信息:
gmssl x509 -text -noout -in cacert.pem
gmssl req -in cacsr.pem -noout -text
证书通信测试命令
SERVER:
gmssl s_server -key server_key.pem -cert server_cert.pem -CAfile cacert.pem -cipher ECDHE-SM4-SM3 -
verify 1
CLIENT:
gmssl s_client -key client_key.pem -cert client_cert.pem -CAfile cacert.pem -cipher ECDHE-SM4-SM3 -
verify 1
以下做出的证书都是:
Signature Algorithm: sm2sign-with-sm3
创建
demoCA
目录,在
demoCA
目录下执行:
mkdir certs crl newcerts private
touch index.txt
echo "01" > serial
将通过以下自签名生成的
cacert.pem
放到
demoCA
目录下,
cakey.pem
放到
demoCA/private
创建公私钥和证书请求:
gmssl ecparam -genkey -name sm2p256v1 -out cakey.pem
gmssl req -new -sm3 -key cakey.pem -out cacsr.pem
自签名
gmssl req -x509 -sm3 -days 3650 -key cakey.pem -in cacsr.pem -out cacert.pem
ca
签名(在
demoCA
的父目录下执行)
gmssl ca -md sm3 -in client_csr.pem -out client_cert.pem -days 3650
显示证书信息:
gmssl x509 -text -noout -in cacert.pem
gmssl req -in cacsr.pem -noout -text
证书通信测试命令
SERVER:
gmssl s_server -key server_key.pem -cert server_cert.pem -CAfile cacert.pem -cipher ECDHE-SM4-SM3 -
verify 1
CLIENT:
gmssl s_client -key client_key.pem -cert client_cert.pem -CAfile cacert.pem -cipher ECDHE-SM4-SM3 -
verify 1
注意:通过测试的GmSSL版本为95c0dba,下载地址https://github.com/guanzhi/GmSSL.git