欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Spring?Boot項目中使用?TrueLicense?生成和驗證License的詳細步驟

 更新時間:2023年10月18日 09:17:34   作者:layman·  
這篇文章主要介紹了Spring?Boot項目中使用?TrueLicense?生成和驗證License,本文分步驟給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

1、Linux

在客戶linux上新建layman目錄,導入license.sh文件,

[root@localhost layman]# mkdir -p /layman

license.sh文件內(nèi)容:

#!/bin/bash
# 1.獲取要監(jiān)控的本地服務器IP地址
IP=`ifconfig | grep inet | grep -vE 'inet6|127.0.0.1' | awk '{print $2}'`
echo "IP地址:"$IP
#
# 2.獲取默認網(wǎng)卡Mac地址
mac_address=`cat /sys/class/net/$(ip route show default | awk '/default/ {print $5}')/address`
echo "默認網(wǎng)卡Mac地址:"$mac_address
#
# 3.獲取CPU序列號
CPU_serial_number=`dmidecode -t 4 | grep ID |sort -u |awk -F': ' '{print $2}'`
echo "CPU序列號:"$CPU_serial_number
#
# 4.獲取主板序列號
Motherboard_serial_number=`sudo dmidecode -s system-serial-number`
echo "主板序列號:"$Motherboard_serial_number

執(zhí)行sh文件,會在該目錄下生成license.log

[root@localhost layman]# sh license.sh 2>&1 | tee license.log

2、Windows

創(chuàng)建獲取IP,mac,CPU,主板信息.bat文件,雙擊運行,會在D盤生成ComputerInfos.txt文件。
.bat文件內(nèi)容如下:

@echo off
echo 開始獲取本機IP、MAC、CPU序列號、主板序列號信息,請稍等......
if  exist D:\ComputerInfos.txt (
echo ===================本機已刪除舊的信息文件,請重新運行獲取!!!==================
del D:\ComputerInfos.txt 
) else (
rem 查看本機IP信息
echo 1-本機IP信息----------------------------------------------------------------------------:>>D:\ComputerInfos.txt 
 ipconfig>>D:\ComputerInfos.txt 
rem 查看本機mac信息
echo 2-本機mac信息---------------------------------------------------------------------------:>>D:\ComputerInfos.txt 
getmac>>D:\ComputerInfos.txt 
rem 查看本機CPU信息
echo 3-本機CPU序列號-----------------------------------------------------------------------:>>D:\ComputerInfos.txt 
 wmic cpu get processorid>>D:\ComputerInfos.txt 
rem 4-查看本機主板信息
echo 4-主板序列號----------------------------------------------------------------------------:>>D:\ComputerInfos.txt
wmic baseboard get SerialNumber>>D:\ComputerInfos.txt 
echo "===================本機信息保存在 D:\ComputerInfos.txt================ "
)
pause

步驟

1、使用JDK自帶的 keytool 工具生成公私鑰證書庫:

在C:\盤中新建layman目錄,在 C:\layman 中cmd執(zhí)行如下命令:
假如我們設置公鑰庫密碼為:public_password1234,私鑰庫密碼為:private_password1234,則生成命令如下:

#生成命令
keytool -genkeypair -keysize 1024 -validity 3650 -alias "privateKey" -keystore "privateKeys.keystore" -storepass "public_password1234" -keypass "private_password1234" -dname "CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN"
#導出命令
keytool -exportcert -alias "privateKey" -keystore "privateKeys.keystore" -storepass "public_password1234" -file "certfile.cer"
#導入命令
keytool -import -alias "publicCert" -file "certfile.cer" -keystore "publicCerts.keystore" -storepass "public_password1234"

上述命令執(zhí)行完成之后,會在當前路徑下生成三個文件,分別是:privateKeys.keystore、publicCerts.keystore、certfile.cer。其中文件certfile.cer不再需要可以刪除,文件privateKeys.keystore用于當前的 ServerDemo 項目給客戶生成license文件,而文件publicCerts.keystore則隨應用代碼部署到客戶服務器,用戶解密license文件并校驗其許可信息。

2、為客戶生成license文件:

將LicenseDemo代碼拉取到本地(聯(lián)系作者獲取源碼),部署項目LicenseDemo,啟動ServerDemo服務。
使用postman工具:
1、get請求獲取客戶機的ip、mac、cpu序列號、主板串行號等信息

get
http://127.0.0.1:7000/license/getServerInfos
Content-Type      application/json;charset=UTF-8

2、post請求生成license.lic文件

post
http://127.0.0.1:7000/license/generateLicense
請求時需要在Header中添加一個 Content-Type ,其值為:application/json;charset=UTF-8。參數(shù)示例如下:
Content-Type      application/json;charset=UTF-8
{
	"subject": "layman_license",
	"privateAlias": "privateKey",
	"keyPass": "private_password1234",
	"storePass": "public_password1234",
	"licensePath": "C:/layman/license.lic",
	"privateKeysStorePath": "C:/layman/privateKeys.keystore",
	"issuedTime": "2023-04-18 00:00:00",
	"expiryTime": "2023-04-24 10:20:00",
	"consumerType": "User",
	"consumerAmount": 1,
	"description": "這是證書描述信息",
	"licenseCheckModel": {
		"ipAddress": [ "192.168.3.57","192.168.101.1"],
		"macAddress": ["00-50-56-C0-00-08", "E0-E1-A9-9D-35-C8"],
		"cpuSerial": "BFEBFBFF000906EA",
		"mainBoardSerial": "/5H6MJ23/CNWS2009BK01DR/"
	}
}

如果請求成功,那么最后會在 licensePath 參數(shù)設置的路徑生成一個 license.lic 的文件,這個文件就是給客戶部署代碼的服務器許可文件。

3、校驗license:

ClientDemo服務中l(wèi)icense-config.properties參數(shù)配置如下:

#License相關(guān)配置
license.subject=layman_license   #主體 - 注意主體要與生成證書的主體一致一致,不然驗證通過不了
license.publicAlias=publicCert   #公鑰別稱
license.storePass=public_password1234   #訪問公鑰的密碼
license.licensePathWin=C:/layman/license.lic   #license位置
license.publicKeysStorePathWin=C:/layman/publicCerts.keystore   #公鑰位置
license.licensePathLinux=/layman/license.lic
license.publicKeysStorePathLinux=/layman/publicCerts.keystore

啟動ClientDemo服務,訪問 http://127.0.0.1:7080/login。
如果證書失效,這會出現(xiàn)以下報錯。

到此這篇關(guān)于Spring Boot項目中使用 TrueLicense 生成和驗證License的文章就介紹到這了,更多相關(guān)Spring Boot使用 TrueLicense 生成和驗證License內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java實現(xiàn)二維碼QRCode的編碼和解碼與示例解析

    Java實現(xiàn)二維碼QRCode的編碼和解碼與示例解析

    本文主要介紹Java實現(xiàn)二維碼QRCode的編碼和解碼,這里給大家一個小示例以便理解,有需要的小伙伴可以參考下
    2016-08-08
  • Java中ExecutorService和ThreadPoolExecutor運行原理

    Java中ExecutorService和ThreadPoolExecutor運行原理

    本文主要介紹了Java中ExecutorService和ThreadPoolExecutor運行原理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • SpringCloud超詳細講解微服務網(wǎng)關(guān)Zuul

    SpringCloud超詳細講解微服務網(wǎng)關(guān)Zuul

    這篇文章主要介紹了SpringCloud Zuul微服務網(wǎng)關(guān),負載均衡,熔斷和限流,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-07-07
  • Java List與數(shù)組互轉(zhuǎn)方式

    Java List與數(shù)組互轉(zhuǎn)方式

    這篇文章主要介紹了Java List與數(shù)組互轉(zhuǎn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • idea將項目上傳到Gitee的圖文過程

    idea將項目上傳到Gitee的圖文過程

    這篇文章主要介紹了idea將項目上傳到Gitee上,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • IntelliJ IDEA配置Tomcat(完整版圖文教程)

    IntelliJ IDEA配置Tomcat(完整版圖文教程)

    這篇文章主要介紹了IntelliJ IDEA配置Tomcat(完整版圖文教程),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Java簡單獲取字符串像素的方法

    Java簡單獲取字符串像素的方法

    這篇文章主要介紹了Java簡單獲取字符串像素的方法,涉及Java針對字符串字體操作的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-10-10
  • 簡單了解java中靜態(tài)初始化塊的執(zhí)行順序

    簡單了解java中靜態(tài)初始化塊的執(zhí)行順序

    這篇文章主要介紹了簡單了解java中靜態(tài)初始化塊的執(zhí)行順序,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • java實現(xiàn)短信通信的完整教程

    java實現(xiàn)短信通信的完整教程

    這篇文章主要為大家詳細介紹了java實現(xiàn)短信通信的完整教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Spring Boot 中常用的注解@RequestParam及基本用法

    Spring Boot 中常用的注解@RequestParam及基本用法

    @RequestParam 是 Spring Framework 和 Spring Boot 中常用的注解之一,用于從請求中獲取參數(shù)值,本文給大家介紹Spring Boot 中常用的注解@RequestParam,感興趣的朋友一起看看吧
    2023-10-10

最新評論