/tls-sig-api-v2-cpp

c++ implementation of tls-sig-api-v2

Primary LanguageCMIT LicenseMIT

说明

此项目为 tls-sig-api-v2 版本 c++ 实现,之前非对称密钥无法使用此版本 api,如需使用请查看这里

下载代码并同步依赖

git clone https://github.com/tencentyun/tls-sig-api-v2-cpp.git
cd tls-sig-api-v2-cpp
git submodule update --init --recursive

如果上面同步代码的操作出现问题,可以到这里下载源代码。

构建

类 Unix 系统

构建依赖于 CMakemake 以及 gcc,请确保已经安装。

cmake CMakeLists.txt
cmake --build .

如果需要手动指定 openssl 路径,运行 cmake CMakeLists.txt 命令时添加下列命令

cmake  -DOPENSSL_ROOT_DIR=your_openssl_root_dir CMakeLists.txt
cmake --build .

头文件路径如下

src/tls_sig_api_v2.h

库文件路径如下


./libtlssigapi_v2.a

用户构建项目时除了链接 libtlssigapi_v2.a,还需引入 zlibopenssl,类 Unix 系统一般都会自带,只需要在链接指令中添加下面的指令

-lz -lcrypto

Windows

Windows 平台构建依赖 CMakeVisual Studio,请确保已经安装。

.\build.bat

头文件路径如下

src/tls_sig_api_v2.h

库文件路径,分 Win32 和 x64,而且 Debug 和 Release 也通过目录予以区分

tls-sig-api_xx/xxxx/tlssigapi_v2.lib
tls-sig-api_xx/xxxx/zlibstatic.lib
tls-sig-api_xx/xxxx/mbedcrypto.lib

另外 Debug 版本的 zlib 名称为 zlibstaticd.lib

用户构建项目时只需要引用头文件 src/tls_sig_api_v2.h 和上述三个库文件。

使用

接口使用

#include "tls_sig_api_v2.h"
#include <string>
#include <iostream>

std::string key = "5bd2850fff3ecb11d7c805251c51ee463a25727bddc2385f3fa8bfee1bb93b5e";

std::string sig;
std::sgring errmsg;
int ret = genUserSig(140000000, "xiaojun", key, 180*86400, sig, errmsg);
if (0 != ret) {
	std::cout << "genUserSig failed " << ret << " " << errmsg << std::endl;
} else {
	std::cout << "genUserSig " << sig << std::endl;
}

多线程支持

因为类 Unix 目前默认使用了 openssl,需要在多线程程序初始化时调用。windows 版本无此问题。

thread_setup();

在程序结束时调用

thread_cleanup();