基于 TrueLicense 的项目证书验证

简介: 基于 TrueLicense 的项目证书验证

使用场景


1、 开发的软件产品在交付使用的时候,往往有一段时间的试用期,这期间我们不希望自己的代码被客户二次拷贝,这个时候 license 就派上用场了,license 的功能包括设定有效期、绑定 ip、绑定 mac 等。


2、 授权方直接生成一个 license 给使用方使用,如果需要延长试用期,也只需要重新生成一份 license 即可,无需手动修改源代码。


原理简介


1、TrueLicense 是一个开源的证书管理引擎,详细介绍见 https://truelicense.java.net/


2、license 授权机制的原理


  • 生成密钥对,包含私钥和公钥。


  • 授权者保留私钥,使用私钥对授权信息诸如使用截止日期,mac 地址等内容生成 license 签名证书。


  • 公钥给使用者,放在代码中使用,用于验证 license 签名证书是否符合使用条件


生成证书


利用jdk keytool工具制作证书


keytool -genkeypair -keysize 1024 -validity 3650 -alias "privateKey" -keystore "privateKeys.keystore" -storepass "deepglint_store_pwd123" -keypass "deepglint_key_pwd123" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"


利用jdk keytool工具导出证书文件


keytool -exportcert -alias "privateKey" -keystore "privateKeys.keystore" -storepass "deepglint_store_pwd123" -file "certfile.cer"


利用jdk keytool工具将证书文件导入到证书库中


keytool -import -alias "publicCert" -file "certfile.cer" -keystore "publicCerts.keystore" -storepass "deepglint_store_pwd123"


image.png


image.png


  • lic-auth-server:用于开发者给客户生成License证书的示例代码


  • lic-auth-client:模拟需要给客户部署的业务项目


获取服务器信息


http://127.0.0.1:10000/license/getServerInfos


image.png


给客户机生成license


image.png


image.png


image.png


image.png


源码


https://gitee.com/pingfanrenbiji/lic-auth


相关文章
|
13天前
|
安全 测试技术 API
在实际应用中,如何判断是否需要创建信任所有证书的 TrustManager
在实际应用中,判断是否需要创建信任所有证书的TrustManager时,需考虑安全性与便捷性的平衡。通常,开发和测试环境可使用信任所有证书的TrustManager,但生产环境应严格验证证书,确保通信安全。
|
6月前
|
安全 网络安全 数据安全/隐私保护
ssl证书认证失败的原因和解决办法
ssl证书认证失败的原因和解决办法
|
13天前
|
安全 Java 测试技术
如何创建一个信任所有证书的`TrustManager`
`TrustManager`是Java中用于管理SSL/TLS信任关系的接口,主要用于验证服务器证书。本文介绍了如何创建一个信任所有证书的`TrustManager`,并通过示例代码展示了具体的实现步骤。虽然这种方法在测试环境中很有用,但在生产环境中使用时存在严重的安全风险。
|
1月前
|
存储 缓存 安全
https访问提示不安全,证书密钥验证上如何解决
【10月更文挑战第4天】访问提示不安全,证书密钥验证上如何解决
280 2
|
6月前
|
算法 数据安全/隐私保护
客户端验证 证书解析
客户端验证 证书解析
85 7
|
6月前
|
存储 弹性计算 运维
客户端证书自动颁发脚本
【4月更文挑战第30天】
53 1
|
网络安全
关于密钥验证
关于密钥验证
94 0
|
Java Maven 开发者
微信公众平台开发(4)--填写服务器配置并验证有效性
本文目录 1. 前言 2. 填写服务器配置 3. 验证有效性 3.1 构建项目 3.2 接受微信验证消息 3.3 提交验证 3.4 启用服务器配置 4. 小结
551 0