在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    許可證lisence校驗和代碼混淆的實現(xiàn)原理

    許可證lisence校驗和代碼混淆的實現(xiàn)原理

    源碼

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

    利用jdk keytool工具制作證書

    利用jdk keytool工具生成證書

    keytool -genkeypair -keysize 1024 -validity 3650 -alias “秘鑰別名” -keystore “秘鑰庫名稱.keystore” -storepass “秘鑰庫口令” -keypass “秘鑰口令” -dname “CN=localhost, OU=localhost, O=localhost, L=SH, ST=SH, C=CN” 注意:所有口令必須包含字母數(shù)字eg: 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”

    生成了私鑰文件 privateKeys.keystore

    利用jdk keytool工具導(dǎo)出證書文件

    keytool -exportcert -alias “秘鑰別名” -keystore “秘鑰庫名稱.keystore” -storepass “秘鑰庫口令” -file “證書名稱.cer”eg: keytool -exportcert -alias “privateKey” -keystore “privateKeys.keystore” -storepass “deepglint_store_pwd123” -file “certfile.cer”

    生成證書

    利用jdk keytool工具將證書文件導(dǎo)入到證書庫中

    keytool -import -alias “別名” -file “證書名稱.cer” -keystore “秘鑰庫名稱.keystore” -storepass “秘鑰庫口令”eg:keytool -import -alias “publicCert” -file “certfile.cer” -keystore “publicCerts.keystore” -storepass “deepglint_store_pwd123”

    將證書文件導(dǎo)入證書庫

    生成lisence

    啟動lisence-server服務(wù)

    獲取服務(wù)器信息

    http://127.0.0.1:10000/license/getServerInfos

    有MAC地址、IP地址、CPU序列號、主板序列號

    生成證書

    http://127.0.0.1:10000/license/generateLicense

    安裝lisence

    配置證書和公鑰文件

    啟動服務(wù)安裝證書

    安裝的過程:讀取證書中的服務(wù)器信息,然后讀取真實的服務(wù)器信息,比對是否一致,并且驗證是否在有效期內(nèi),若一致則安裝成功,若不一致,則安裝失敗。

    信息比對的過程在這里

    lisence校驗

    證書安裝成功之后,訪問服務(wù)中的接口,瀏覽器訪問http://127.0.0.1:10001//auth/api/1.0/getUserInfo

    在攔截器中添加校驗的邏輯,校驗的邏輯和證書安裝的時候校驗過程是一樣的。

    通用的校驗類LicenseVerify,其子類CustomLicenseManager中實現(xiàn)自定義的校驗邏輯,比如服務(wù)器硬件信息校驗,比如業(yè)務(wù)校驗: 在線用戶數(shù)校驗

    父類中封裝了共有的校驗邏輯,比如有效期校驗

    在攔截器中做校驗即校驗通過,才可訪問其中的服務(wù)。

    將上面2個服務(wù)部署到k8s中

    編寫server的鏡像文件

    把jar包和密鑰證書加載進(jìn)鏡像

    生成鏡像

    docker build -t 127.0.0.1:5000/lic-auth/lic-auth-server:1.0

    上傳到景象倉庫

    docker push 127.0.0.1:5000/lic-auth/lic-auth-server:1.0

    編寫k8s pod文件

    編寫k8s svc文件

    啟動服務(wù)

    kubectl apply -f .

    查看服務(wù)啟動情況

    查看證書文件

    查看server服務(wù)的端口

    生成證書

    將生成好的證書復(fù)制到宿主機上

    kubectl cp lic-auth-server-6dcd66c7d-vq5qb:license.lic -n xibaoxiao-chuangxin ./license.lic

    將該證書文件放入待安裝的服務(wù)中

    將證書和公鑰文件載入鏡像

    并指定訪問路徑

    編譯鏡像

    docker build -t 127.0.0.1:5000/lic-auth/lic-auth-client:1.0 .

    pod yaml文件

    svc yaml文件

    啟動服務(wù)

    kubectl apply -f

    證書安裝成功

    查看訪問端口

    http://127.0.0.1:30011//auth/api/1.0/getUserInfo

    代碼混淆

    源碼

    https://gitee.com/roseboy/classfinal.git生成該插件jar包放入本地倉庫或私服中

    `待混淆的項目的pom文件中引入該插件包

    classfinal.version 使用剛剛打包定義的版本號

    • password 加密密碼
    • packages 哪個package下面的代碼做混淆
    • cfgfiles 哪個配置文件做混淆
    • debug 混淆的過程 debug模式 可以看到更多插件包中的日志信息
    • excludes 哪個package包下面的代碼不做混淆
    • libjars jar/war lib目錄下的哪些jar包不做混淆

    打包結(jié)果之后,就可以看到混淆之后的jar包了

    反編譯之后 就可以看到 代碼被混淆了

    啟動jar包

    java -javaagent:galaxy-bpm-service.jar=’-pwd pingfanrenbiji’ galaxy-bpm-service.jar

    當(dāng)然也可以在鏡像中啟動,編寫鏡像文件

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月19日 21:19
    下一篇 2022年6月19日 21:20

    相關(guān)推薦

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時間:周一至周五,10:30-18:30,節(jié)假日休息