CENTOS6环境用GmSSL制作SM2国密证书,以期代替用RSA算法制作的SSL证书
b) 应使用经国家密码管理机构认证认可的密码技术和产品。 。 本文利用GmSSL创建的SM2国密证书来替代RSA算法制作的SSL证书,探讨如何满足分级保护相关的技术要求。 实验环境:CentOS 6.zip
2.GmSSL
#编译安装.1.1
# ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1
3.检查GmSSL明。版本# sl a
4。测试GmSSL加密
SM3摘要生成(哈希算法,类似MD5)
# echo -n "abc" | gmssl sm3
( stdin)= 66c7f0f462eeedd9d1f2d46bdc10e4e24167c4875cf2f7a2297da02b8f4ba8e0加密4度量算法,类似于AES、3DES)
# gmssl sms4 -in README.md -out README.sms4
# gmssl sms4 -d -in README . sms4
SM2私钥生成(非对称算法,类似RSA)
# gmssl genpkey -algorithm EC -_pkeyopt_ec -_pkeyopt_ec -pkeyopt ec -_pkeyopt_ec _pkeyopt_ec -_pkeyopt_ec:pkeyopt param_enc:named_曲线出键。 pem
从生成的 SM2 私钥中导出公钥:
# gmssl pkey -pubout -in skey.pem -out vkey.pem
SM2签名生成和验证:
# gmssl sm3 -binary README.md | gmssl pkeyutl -sign -pkeyopt ec_scheme:sm2 -inkey skey.pem -out README.md.sig
# gmssl sm3 -binary README.md | gmssl pkeyutl -verify -pkeyopt ec_scheme:sm2 -pubin -inkey vkey.pem-sigfilereadme.md.md.sig
#gmsssl#gmsssl gen pkey -algorithm ec -pkeyopt_curve_curve_curve_curve_6spgen_curve_para_curve_para:ecm: pem
# gmssl pkey -pubout -in dkey.pem -out ekey.pem
# echo "绝密" | gmssl pkeyutl -encrypt -pkeyopt ec_scheme:sm2 -pubin -inkey ekey.pem -out ciphertext.sm2
# gmssl pkeyutl -decrypt -pkeyopt ec_in.sm2 -pe
自签名 SM2证书生成:
# gmssl req -new -x509 -key skey.pem -out cert.pem第 2 部分 使用 SM2 证书创建状态 1。创建demoCA目录,在demoCA目录下运行: # mkdir certs crl newcerts private
# touch index.txt
# echo“01”> 序列
2。将以下生成的自签名文件放入 demoCA 目录中,
位于 demoCA/private
3。创建公钥和私钥以及证书请求:
# gmssl ecparam -genkey -name sm2p256v1 -out
# gmssl req -new -sm3 -key -out cacsr.pem
4。自签名
# gmssl req -x 509-sm3- 天 3650 -key -in cacsr.pem -out
# gmssl x509 -req -days 3650 -sm3 -in cacsr.pem -in cacsr.pem -
5。将 pem 转换为 cer
# gmssl x509 -inform pem -in -outform der -out cacert.cer
6。 ca 签名(在 demoCA 的父目录中执行)
# gmssl ca -md sm3 -in client_csr.pem -out client_cert.pem -days 3650
7.显示证书信息:
# gmssl x509 -text -noout -in
# gmssl req -in cacsr.pem -noout -text
8.证书通信测试命令
SERVER:
# gmssl s_server -key server_key.pem -cert server_cert.pem -CAfile -Cipher ECDHE-SM4-SM3 -verify 1
ENT: # gmssl s_client -key client_key.pem -cert client_cert.pem -CAfile -cipher ECDHE-SM4-SM3 -verify 1注:1.测试通过的GmSSL版本为95c0dba,下载地址https://github.com/guanzhi /yaoming.git
2、上面生成的证书都是: 签名算法:sm2sign-mat-sm3
3。目前的浏览器如IE、Firefox、Chrome等。需要下载专门的国密浏览器来支持SM2。国家秘密证书。
由于IE浏览器不兼容国密算法,“签名算法”字段只显示国密证书的OID:![]()
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
code前端网