项目简介
本项目是腾讯云云通信账号体系TLS签名API的C++实现,为需要使用腾讯云通信服务的开发者提供生成TLS签名的功能。
项目的主要特性和功能
- 支持生成默认有效期和指定有效期的TLS签名。
- 在类Unix系统中,支持多线程环境下的TLS签名生成。
- 支持在类Unix系统和Windows系统上进行构建和使用。
- 项目依赖于Zlib和OpenSSL库,提供详细的构建和链接说明。
安装使用步骤
1. 环境准备
确保已安装以下工具和库: - CMake - 编译器(如gcc或Visual Studio) - Zlib库 - OpenSSL库
2. 代码下载
shell
cd tls-sig-api
git submodule update --init --recursive
3. 构建项目
类Unix系统
shell
cmake CMakeLists.txt
cmake --build .
若需手动指定OpenSSL路径,运行:
shell
cmake -DOPENSSL_ROOT_DIR=your_openssl_root_dir CMakeLists.txt
cmake --build .
Windows系统
shell
.\build.bat
4. 使用示例
使用默认有效期生成TLS签名
```C++
include "tls_signature.h"
include
include
std::string priKeyContent = "-----BEGIN PRIVATE KEY-----\n" "MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgocPyal8vljJjNtRF\n" "nxiXMYqOdwTZq3UQUMJc6ULcPMGhRANCAAQo9wBEsKC01do8bLbLWC1E+ng3DyNr\n" "HN0BrdhjRKqtvbGJXusMDn16faL2ymccposI0lqki1NZN0mrYVq14AGD\n" "-----END PRIVATE KEY-----";
std::string sig; int ret = gen_sig(140000000, "xiaojun", priKeyContent, sig); if (0 != ret) { std::cout << "gen_sig failed " << ret << std::endl; } else { std::cout << "gen_sig " << sig << std::endl; } ```
指定有效期生成TLS签名
使用tls_gen_signature_ex2_with_expire
函数。
多线程支持
在类Unix系统中,多线程程序初始化时调用:
C++
thread_setup();
在程序结束时调用:
C++
thread_cleanup();
注意事项
- 确保所有依赖库(如Zlib和OpenSSL)已正确安装并配置。
- 在多线程环境中使用时,确保正确调用
thread_setup
和thread_cleanup
函数。 - 在Windows系统中,确保使用正确的库文件路径。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】