赞
踩
GmSSL是一个开源的密码工具箱,支持SM2/SM3/SM4/SM9/ZUC等国密(国家商用密码)算法、SM2国密数字证书及基于SM2证书的SSL/TLS安全通信协议,支持国密硬件密码设备,提供符合国密规范的编程接口与命令行工具,可以用于构建PKI/CA、安全通信、数据加密等符合国密标准的安全应用。GmSSL项目是OpenSSL项目的分支,并与OpenSSL保持接口兼容。因此GmSSL可以替代应用中的OpenSSL组件,并使应用自动具备基于国密的安全能力。GmSSL项目采用对商业应用友好的类BSD开源许可证,开源且可以用于闭源的商业应用。
为了保障商用密码的安全性,国家商用密码管理办公室制定了一系列密码标准,包括SM1(SCB2)、SM2、SM3、SM4、SM7、SM9、祖冲之密码算法(ZUC)那等等。其中SM1、SM4、SM7、祖冲之密码(ZUC)是对称算法;SM2、SM9是非对称算法;SM3是哈希算法。目前,这些算法已广泛应用于各个领域中。其中SM1、SM7算法不公开,调用该算法时,需要通过加密芯片的接口进行调用。
• SM2:基于椭圆曲线密码(ECC)的公钥密码算法标准,提供数字签名,密钥交换,公钥加密,用于替换RSA/ECDSA/ECDH 等国际算法
• SM3:消息摘要算法,哈希结果为 256 bits,用于替换 MD5/SHA1/SHA256 等国际算法
• SM4:对称加密算法,密钥长度和分组长度均为 128 bits,主要用于无线局域网标准,用于替换 DES/AES 等算法
• 国密证书:这里的国密证书指的是使用国密算法(SM2-with-SM3)的标准 X509 格式证书,证书使用 SM3 作为哈希算法,使用 SM2 作为数字签名算法
• 国密 SSL:采用国密算法,符合国密标准的安全传输协议,也就是 SSL/TLS 协议的国密版本
GmSSL工程使用典型的Makefile管理工程,采用典型的linux C/C++程序编译安装方法
即可编译安装。
./config
make
make test
make install
编译后三个功能组件:
gmssl help 可以查看具体的命令, 可以看到gmssl在原来openssl的基础上,提供了国密的算法的支持。
Gmssl sms4 -help 子命令的使用方法
1)gmssl version
2) 对称加解密SM4
加密
gmssl sms4 -e -in <yourfile> -out <yourfile>.sms4
解密(标准输出到屏幕,可以重定向)
gmssl sms4 -d -in <yourfile>.sms4
3) 生成SM3摘要
gmssl sm3 <yourfile>
gmssl sm3 /etc/fstab
输出:SM3(/etc/fstab)= fa221b32c629777672765ba50b085e94ec65e5e49815bc7c5d4da011f6e69939
4)sm4 加解密
A)生成SM2私钥
gmssl sm2 -genkey -sms4 -out sm2.pem
B)导出SM2公钥
gmssl sm2 -in sm2.pem -pubout -out sm2Pub.pem
C)加密解密
gmssl sm2utl -encrypt -in testfile -pubin -inkey sm2Pub.pem -out jiami.out
gmssl sm2utl -decrypt -in jiami.out -inkey sm2.pem -out testfile.out
相关文献或者资源:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。