同步操作将从 zifangsky/LicenseDemo 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
在基于Spring的项目中使用 TrueLicense
生成和验证License证书
(服务器许可)的示例代码
Spring Boot
:项目基础架构TrueLicense
:基于Java
实现的生成和验证服务器许可的简单框架JDK8+
ServerDemo
:用于开发者给客户生成License证书
的示例代码ClientDemo
:模拟需要给客户部署的业务项目
对外发布了两个RESTful接口:
(1)获取服务器硬件信息 :
请求地址:http://127.0.0.1:7000/license/getServerInfos
(2)生成证书 :
请求地址:http://127.0.0.1:7000/license/generateLicense
请求时需要在Header中添加一个 Content-Type ,其值为:application/json;charset=UTF-8。请求参数如下:
{
"subject": "license_demo",
"privateAlias": "privateKey",
"keyPass": "private_password1234",
"storePass": "public_password1234",
"privateKeysStorePath": "E:\\privateKeys.keystore",
"issuedTime": "2023-10-24 15:00:12",
"expiryTime": "2024-12-31 00:00:00",
"consumerType": "User",
"consumerAmount": 1,
"description": "这是证书描述信息",
"licenseCheckModel": {
"macAddress": [
"00-50-56-C0-00-01",
"50-7B-9D-F9-18-41"
]
}
}
项目启动时安装证书,通过cn/zifangsky/license/LicenseCheckListener.java
类实现。用户登录时校验证书的可用性,通过cn/zifangsky/license/LicenseCheckInterceptor.java
类实现。
#生成命令 keytool -genkeypair -keysize 1024 -validity 365 -alias "privateKey" -keystore "privateKeys.keystore" -storepass "water_password1234" -keypass "water_link1234" -dname "CN=bo, OU=water, O=car, L=BJ, ST=BJ, C=CN"
keysize 密钥长度 validity 私钥的有效期(单位:天) alias 私钥别称 keystore 指定私钥库文件的名称 (生成在当前目录) storepass 指定私钥库的密码 (keystore 文件存储密码) keypass 指定别名条目的密码 (私钥加解密密码) dname 证书个人信息 CN 为你的姓名 OU 为你的组织单位名称 O 为你的组织名称 L 为你所在的城市名称 ST 为你所在的省份名称 C 为你的国家名称
1、首先要用KeyTool工具来生成密钥库:(-alias别名 –validity 3650表示10年有效) keytool -genkey -alias privatekeys -keysize 1024 -keystore privateKeys.store -validity 3650
2、然后将密钥库中名称为‘privatekeys’的证书条目导出到证书文件certfile.cer中: keytool -export -alias privatekeys -file certfile.cer -keystore privateKeys.store
3、然后再把这个证书文件的信息导入到公钥库中别名为publiccert的证书条目中: keytool -import -alias publiccert -file certfile.cer -keystore publicCerts.store
最后生成的文件privateKeys.store和publicCerts.store拷贝出来备用。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。