smart-license為軟件提供授權(quán)的工具
smart-license 是一款用于安全加固的開源項(xiàng)目。主要服務(wù)于非開源產(chǎn)品、商業(yè)軟件、具備試用功能的付費(fèi)軟件等,為軟件提供授權(quán)制的使用方式。
適用場景:
- 非開源產(chǎn)品、商業(yè)軟件、收費(fèi)軟件。
- 限制產(chǎn)品的傳播性,每個(gè)客戶擁有專屬 License。
- 同一款軟件發(fā)行包根據(jù) License 的不同提供不同的服務(wù)能力。
- 限定軟件授權(quán)時(shí)效
License運(yùn)行流程
-
License申請(qǐng)流程
-
找回License
使用方式
生成License
-
下載smart-license.tar.gz包,解壓
-
進(jìn)入bin目錄執(zhí)行以下命令,例如:
./license.sh 1d HelloWorld。- 1d:表示授權(quán)效期1天,即一天后該License便過期。支持的效期格式包括:
- h,1h:1小時(shí); 2h:2小時(shí)
- d,1d:1天; 10d:10天
- y,1y:1年; 2y:2年
- HelloWorld:表示待加密的license內(nèi)容。
實(shí)際場景下可以通過license授權(quán)不同的產(chǎn)品功能和有效期,例如:
./license.sh 1y features_1:on;features_2:off;如果待授權(quán)的license內(nèi)容為文件,可以采用同樣的命令,例如:./license.sh 1y config.properties - 1d:表示授權(quán)效期1天,即一天后該License便過期。支持的效期格式包括:
-
執(zhí)行成功后,會(huì)在當(dāng)前目錄下生成 License:
license.txt以及 License源文件:source.txt。 注意:license.txt是提供給客戶的授權(quán)文件;而source.txt是由軟件提供方持有,其中包含加密私鑰,需要妥善保管
使用License
-
引入Maven依賴
<dependency> <groupId>org.smartboot.license</groupId> <artifactId>license-client</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency>
-
載入License。如若License已過期,則會(huì)觸發(fā)異常。
public class LicenseTest { public static void main(String[] args) throws Exception { File file=new File("license.txt"); License license = new License(); LicenseConfig licenseConfig=license.loadLicense(file); System.out.println(licenseData.getOriginal()); } } -
獲取licenseData并以此配置啟動(dòng)軟件。
評(píng)論
圖片
表情
