ente / cryptolens-php
使用此 Cryptolens API 客户端管理您的许可证
Requires
- php: >=7.4
This package is auto-updated.
Last update: 2024-09-10 21:04:58 UTC
README
此仓库包含从 PHP 与 Cryptolens Web API 交互的函数。目前大多数端点已支持,并将继续支持更多。
有关 API 以及可能值和类型的更多信息,请访问官方 API 文档:https://app.cryptolens.io/docs/api/v3
要使用此库,您可以 require_once
loader.php
(它会自动加载所有其他类)或使用 composer,您只需 require
composer 的 autoload.php
。目前,此库不安全用于 CLI。在您的脚本中,您需要 use
这些类,以下是一个示例
需要 PHP >7.4.0,与 8.2 兼容
代码示例
<?php ini_set("display_errors", 1); require_once "path/to/composer/autoload.php"; use Cryptolens_PHP_Client\Cryptolens; use Cryptolens_PHP_Client\Key; $c = new Cryptolens("YOUR_TOKEN", 12345, Cryptolens::CRYPTOLENS_OUTPUT_JSON); $k = new Key($c); $key = "XXXXX-XXXXX-XXXXX-XXXXX"; $machine_id = $k->getMachineId(); print_r("Key 'activate':" . var_dump($k->activate($key, $machine_id))); ?>
代码示例:检查功能许可证
<?php ini_set("display_errors", 1); require_once "./loader.php"; use Cryptolens_PHP_Client\Cryptolens; use Cryptolens_PHP_Client\Key; $c = new Cryptolens("YOUR_TOKEN", 12345, Cryptolens::CRYPTOLENS_OUTPUT_PHP); $k = new Key($c); # generate new key and activate Feature 3 for it $key = $k->create_key(["F3" => true])["key"]; $license_data = json_decode($k->get_key($key), true); if($license_data["F3"]){ echo "Feature 3 enabled for license " . $key; } elseif($license_data["F4"]){ echo "Feature 4 enabled for license " . $key; } ?>
上面的代码使用了我们的测试访问令牌、产品 ID、许可证密钥和机器代码。在实际应用中,您可以按照以下方式获取这些值
- 可以在 https://app.cryptolens.io/User/AccessToken 创建访问令牌
- 产品 ID 可以通过从产品列表中选择相关产品(https://app.cryptolens.io/Product)获得,然后产品 ID 将显示在密钥列表上方。
- 许可证密钥可以通过应用程序依赖的方式从用户处获取。
- 您可以使用内置的
Key::getMachineId()
函数为 PHP 实例生成机器 ID。请阅读该函数的文档以了解机器 ID 计算的更多信息。 - 在未来的版本中,此库应能够验证许可证文件
离线许可证验证
API 还允许您通过 License.cryptolens.php
文件验证许可证文件。为了正确配置此功能,请将 XML 风格的公钥转换为 PEM 格式(PKCS#1)并保存到 classes/*
目录中的 key.pub
(如果 License(<Cryptolens $cryptolens>, <string $pathToKey>)
中设置了 $pathToKey,则路径将被指定的路径覆盖)。目前,此 API 客户端只能处理“其他语言”格式的许可证文件。
您可以在类似此处的网站上转换您的密钥 这里 或使用此存储库 使用此存储库
然后您可以这样验证许可证密钥
<?php require_once "/path/to/autoloader.php"; use Cryptolens_PHP_Client\Cryptolens; use Cryptolens_PHP_Client\License; $c = new Cryptolens("YOUR_TOKEN", 12345, Cryptolens::CRYPTOLENS_OUTPUT_PHP); $l = new License($c); // to specify custom key file location other than /classes/key.pub specify the FULL path as License($c, "/var/www/my/public/key.pub") $fromString = $l->validateLicense("BASE64-ENCODED-STRING", "BASE64-ENCODED-STRING") // licenseKey and signature $fromFileContent = $l->validateLicenseFromFileContent(file_get_contents("license.skm")); // License file as string $fromFile = $l->validateLicenseFromFile("license.skm") if($fromFile){ echo "Signature successfully validated"; } else { echo "Could not verify signature"; }
安装
您可以克隆此存储库并 require loader.php
(其中包含自动加载器)或使用控制台通过 composer
composer require ente/cryptolens-php
并
<?php require "./vendor/autoload.php"; use Cryptolens_PHP_Client\Cryptolens; ... ?>
自动加载所需类。