2022年9月19日,腾讯宣布腾讯Kona国密套件正式开源。腾讯Kona国密套件基于JDK的标准JCA,PKI和JSSE的SPI接口实现了从基础算法簇,到公钥基础设施,再到安全通信协议的全链路国密特性。
主要特性
1. 实现了国密基础算法簇
- SM2,包括签名算法(GB/T 32918.2-2016),密钥交换算法(GB/T 32918.3-2016)和加密算法(GB/T 32918.4-2016)。
- SM3,包括哈希算法(GB/T 32905-2016)和基于哈希的消息验证码算法(HMAC)。
- SM4,包括分组加密算法(GB/T 32907-2016),并支持了CBC,CTR,ECB和GCM四种操作模式。
2. 在公钥基础设施中支持了国密算法
- 解析国密证书,在标准的X.509证书中支持了SM2椭圆曲线和SM3withSM2签名算法。
- 验证国密证书链,支持了标准的证书吊销列表(CRL)和在线证书状态协议(OCSP)。
- 读写包含有国密证书的密钥库(KeyStore)文件,支持标准的PKCS#12和JDK自有的JKS两种格式。
3. 实现了国密安全通信协议
- 实现了中国国家密码管理局制定的传输层加密协议(GB/T 38636-2020),支持了中国特有的认证证书与加密证书分离的双证书模式。实现的密码套件为ECDHE_SM4_CBC_SM3(0xE011),ECDHE_SM4_GCM_SM3(0xE051),ECC_SM4_CBC_SM3(0xE013)和ECC_SM4_GCM_SM3(0xE053)。
- 实现了IETF制定的RFC 8998规范,将国密基础算法簇应用到了国际流行的TLS 1.3安全通信协议中。实现的密码套件为TLS_SM4_GCM_SM3(0x00C6)。
支持的操作系统
支持任何可以运行JDK的操作系统平台,也可以支持Android平台。
支持的JDK版本
支持OpenJDK的全部长期支持(LTS)版本,即8,11和17。欢迎使用腾讯的OpenJDK发行版Tencent Kona JDK 。
近期规划
目前,腾讯Kona国密套件的部分国密基础算法实现依赖了开源的BouncyCastle,但我们正在自主地重新开发国密基础算法,以期获得更好的性能,安全性和代码质量。在可预见的未来,腾讯Kona国密套件将会完全摒弃BouncyCastle。
开源地址:
https://github.com/tencent/TencentKonaSMSuite
请给项目 一个 Star !
欢迎提出你的 issue 和 PR!
国内镜像地址:
https://git.code.tencent.com/Tencent_Open_Source
(登录后才能访问公开项目)
腾讯工蜂源码系统为开源开发者提供完整、最新的腾讯开源项目国内镜像