crypto-gmsm国密算法库
crypto-gmsm国密算法库
一、开发背景
crypto-gmsm国密算法库是国密商密算法(SM2,SM3,SM4)工具类封装,国产密码算法(国密算法)是指国家密码局认定的国产商用密码算法,目前主要使用公开的SM2、SM3、SM4三类算法,分别是非对称算法、哈希算法和对称算法。
二、功能
crypto-gmsm包含以下主要功能
SM2: 国密椭圆曲线算法库
. 支持Generate Key, Sign, Verify基础操作
. 支持加密和不加密的pem文件格式(加密方法参见RFC5958, 具体实现参加代码)
. 支持证书的生成,证书的读写(接口兼容rsa和ecdsa的证书)
. 支持证书链的操作(接口兼容rsa和ecdsa)
. 支持crypto.Signer接口
SM3: 国密hash算法库
. 支持基础的sm3Sum操作
. 支持hash.Hash接口
SM4: 国密分组密码算法库
. 支持Generate Key, Encrypt, Decrypt基础操作
. 提供Cipher.Block接口
. 支持加密和不加密的pem文件格式(加密方法为pem block加密, 具体函数为x509.EncryptPEM
三、具体实现
1 下载链接
https://gitee.com/superch/crypto-gmsm
2 maven配置/maven打包jar包/手动配置jar包
这一部分的操作流程在之前的博客中已经详细说明,配置参考链接如下:
https://www.cnblogs.com/yu15141310373/p/16948725.html
3 测试
sm2加解密,签名验签
sm3加密
sm3正确性检验
sm4加解密