Tengine的openssl有sm4,babassl和openssl有什么区别?
Tengine是一个基于Nginx的高性能Web服务器,其默认使用的是OpenSSL作为其底层密码库来实现通信加密的能力。然而,Tengine也支持 BabaSSL 和 sm4 作为其底层密码库。BabaSSL 是一种独立的、开源的、安全可靠的、具有完整功能的国产密码库,它实现了国密算法(SM2/SM3/SM4)以及国际通用的密码算法(RSA/ECC/AES/SHA等),并提供了丰富的密码协议(TLSv1.2/1.3/1.4/DTLSv1.2/1.3等)。
在Tengine中,如果你选择使用 BabaSSL 作为其底层密码库来实现通信加密的能力,则可以无需对 Tengine 进行任何代码改动,原生开启 NTLS 能力。此外,BabaSSL 还提供了与其他 openssl 版本库共存的方案。
至于sm4,它是一种国家商用密码算法,用于实现数据的加密和解密。在Tengine中,你可以选择使用sm4作为其底层密码库来实现通信加密的能力。
总的来说,Tengine的openssl有sm4,babassl和openssl三个选项,你可以根据你的具体需求来选择合适的底层密码库。
Tengine是由淘宝网发起的Web服务器项目,起源于Nginx,并Tengine是由淘宝网发起的Web服务器项目,起源于Nginx,并针对大访问量网站的需求进行了多项改进和添加了高级功能。默认情况下,Tengine使用的是OpenSSL,但同时,Tengine也适配了BabaSSL的NTLS功能。BabaSSL是一款轻巧、灵活且靠谱的密码学和TLS协议工具集,原本是蚂蚁集团和阿里集团的各主要业务中所使用的底层密码库,现在已经开源出来供业界使用。
sm4是一种国密算法,与Tengine的openssl以及BabaSSL没有直接的关系。不过,值得一提的是,在《密码法》颁布和实施以来,商密算法(SM)和国密握手协议(TLCP)的重要性日益凸显。因此,许多银行、金融和安全企业开始对自身的软件进行改造以适应监管要求。在这一过程中,可能会遇到一些问题,例如第三方依赖库同时依赖openssl和BabaSSL导致的编译或链接问题。
为了解决这些问题,一种常见的做法是将openssl替换为BabaSSL,或者让BabaSSL兼容其他版本的openssl库。这样既可以满足国密算法的需求,也能确保软件的稳定性和兼容性。
tengine集成Tongsuo(原BabaSSL)是为了支持国密传输协议(openssl不支持),关于Tongsuo的更多信息可以访问铜锁官网http://www.tongsuo.net,也欢迎加入铜锁社区交流群,钉钉群号: 44810299 此回答整理自钉群“Tengine和Tengine-Ingress开源交流群”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。