MCPcopy Index your code
hub / github.com/Tongsuo-Project/Tongsuo

github.com/Tongsuo-Project/Tongsuo @8.4.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 8.4.0 ↗ · + Follow
17,012 symbols 69,090 edges 1,714 files 2,460 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

概述

铜锁/Tongsuo是一个提供现代密码学算法和安全通信协议的开源基础密码库,为存储、网络、密钥管理、隐私计算等诸多业务场景提供底层的密码学基础能力,实现数据在传输、使用、存储等过程中的私密性、完整性和可认证性,为数据生命周期中的隐私和安全提供保护能力。

铜锁获得了国家密码管理局商用密码检测中心颁发的商用密码产品认证证书,助力用户在国密改造、密评、等保等过程中,更加严谨地满足我国商用密码技术合规的要求。可在此处下载资质原始文件。

特性

铜锁提供如下主要的功能特性:

注:*号表示正在支持中

典型应用

开源应用(Opensource Application)

  • Angie, Angie是一个可以替换掉NGINX的新型Web服务器,我们建议使用铜锁的用户优先选择Angie (We highly recommend you to replace NGINX with Angie to enable Tongsuo's functionality)
  • Apache APISIX
  • Tengine

商业应用 (Commercial Application)

  • 支付宝App
  • OceanBase数据库
  • 阿里云
  • 天威诚信

编译和安装

一般来说,典型的编译和安装过程如下:

./config --prefix=/path/to/install/dir
make
make install

如果是Windows,则需要:

perl Configure enable-ntls
nmake
nmake install

以上将会安装铜锁的头文件、library文件和铜锁二进制程序。如果需要在独立的build目录中编译铜锁以保证源代码仓库的整洁,则可以:

cd tongsuo-build
/path/to/Tongsuo/source/config --prefix=/path/to/dest
make
make install

目前铜锁支持的操作系统有:各种Linux发行版、macOS、Android、iOS和Windows。在这些操作系统上,还需要事先准备好对应的环境:

  • make
  • Perl 5,以及Text::Template模块
  • C编译器
  • C库

铜锁对第三方库的依赖很少,但是目前依然对Perl依赖较大。

如果希望执行自动化测试用例,则需:

make test

在安装的时候,可以选择只安装library文件:

make install_runtime_libs

如果还需要安装头文件以便于基于铜锁开发应用程序,则可以:

make install_dev

也可以只安装铜锁二进制程序和其依赖的铜锁library文件:

make install_programs

铜锁的Configure脚本提供了大量的用于开关各种特性的选项。一般来讲,使用enable-xxx做为对某个特性的开启,而使用no-xxx来关闭某个特性。例如,enable-ntls即开启TLCP,而no-rsa则是不编译RSA算法。

文档

铜锁的相关文档组织在 铜锁文档网站 上。

交流群

铜锁使用钉钉群进行用户答疑和交流,欢迎扫码入群(也可直接搜索群号:44810299):

报告安全缺陷

铜锁目前使用蚂蚁集团的威胁搜集系统,请访问如下地址进行安全缺陷的报告:

注意:对于非安全相关的Bug,请使用GitHub的Issues进行提交。

Core symbols most depended-on inside this repo

Shape

Function 15,697
Class 1,195
Enum 120

Languages

C95%
C++5%
Python1%

Modules by API surface

ssl/ssl_lib.c398 symbols
test/sslapitest.c161 symbols
apps/lib/apps.c130 symbols
test/evp_test.c124 symbols
crypto/evp/pmeth_lib.c123 symbols
crypto/x509/x509_vfy.c117 symbols
include/openssl/types.h110 symbols
crypto/evp/p_lib.c103 symbols
crypto/evp/evp_lib.c101 symbols
crypto/ec/ec_lib.c96 symbols
test/evp_extra_test.c94 symbols
ssl/t1_lib.c93 symbols

For agents

$ claude mcp add Tongsuo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page