1.生成证书:首先,需要在Licensecc的项目目录下生成一个证书。需要将源代码下的 - projects/DEFAULT 文件复制到想要生成证书的目录下,并且该目录中存在一个private_key.rsa
的私钥文件。在Linux下,你可以使用以下命令生成私钥:
ssh-keygen -m PEM -t rsa
确保使用-m PEM
来指定密钥格式,否则lccgen
在生成证书时可能会报错。这个私钥文件将用于生成许可证。如果不带-m PEM
生成的rsa文件是以-----BEGIN OPENSSH PRIVATE KEY-----
开头,
而lccgen
需要的是用-----BEGIN RSA PRIVATE KEY-----
开头的文件
2.生成许可证:使用lccgen
工具来生成许可证。你可以在项目的projects/DEFAULT
目录下执行以下命令来生成一个永久无限的许可证:
cd projects/DEFAULT
lccgen license issue -o licenses/{license-file-name}.lic
如果你想要生成与特定硬件绑定的许可证,可以使用硬件标识符:
lccgen license issue --client-signature XXXX-XXXX-XXXX -o licenses/{license-file-name}.lic
其中XXXX-XXXX-XXXX
是硬件标识符
3.硬件标识符生成:在客户端硬件上执行的软件,当发现缺少许可证时,会调用API identify_pc
并生成一个硬件标识符。客户需要将这个硬件ID反馈给软件发布者,发布者将使用它来颁发许可证。
4.许可证检索:Licensecc可以自动查找其许可证文件,这可以基于环境变量LICENSE_LOCATION
来指定许可证文件的路径,或者将许可证内容直接放在环境变量LICENSE_DATA
中,也可以将许可证文件放置在授权执行文件相同的文件夹中,文件名必须与执行文件相同,扩展名为.lic
5.集成到项目:如果你使用CMake作为构建系统,可以将LicenseCC作为git子模块添加到你的项目中,然后在CMakeLists.txt
文件中添加以下行来找到并链接Licensecc库:
find_package(licensecc 2.0.0 REQUIRED)
这将使外部目标licensecc::licensecc_static
可用于链接