CodeMeter離線授權部署說明書
背景
若LCC重建的運行服務器無法連接外網,無法從XGRIDS授權服務器實時獲取授權控制信息時,支持以CodeMeter方式進行內網授權。
方案概要
私有機房內,選擇一台機器,作為CodeMeter授權管理服務器。
- CodeMeter授權管理服務器,可以用Windows機器,也可以用Linux機器
- 如果機房支持【USB硬狗】,在這台機器上插USB加密狗(XGRIDS提供支持內網授權的綠色USB加密狗)
- 如果機房服務器不支持USB硬件狗,XGRIDS可針對特定機器生成【軟授權】並導入到該機器中。
Docker容器向授權服務器申請運行許可的模式概要:
Linux私有授權服務器部署
安裝CodeMeter服務
在選定的授權服務器上,安裝 CodeMeter Runtime 運行環境,然後:
- 如果採用USB加密狗形式,只要將USB加密狗插到該服務器上即可;
- 如果採用軟授權模式,軟授權需和選定的授權服務器的硬件特徵綁定,不可變動。
※ 如果選用虛擬機安裝軟授權,要保證這個軟授權一直可用,虛擬機所在物理機不要變更,該物理機的主要硬件,如cpu,主板,網卡等也不要變更。
CodeMeter Runtime安裝包下載地址
服務器OS版本較新(如Ubuntu20.04以上)推薦使用 CodeMeter Runtime(Version 8.20) :
- Linux rpm:https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/CodeMeter-8.20.6558-501.x86_64.rpm
- Linux deb:https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/codemeter-lite_8.20.6558.501_amd64.deb
如果服務器OS版本較老,建議安裝CodeMeter Runtime(Version 7.51)
- Linux rpm:https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/CodeMeter-lite-7.51.5429-500.x86_64.rpm
- Linux deb:https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/codemeter-lite_7.51.5429.500_amd64.deb
CodeMeter Runtime安裝方式
# DOWNLOAD Version8.20
wget https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/codemeter-lite_8.20.6558.501_amd64.deb
# INSTALL
sudo dpkg -i --force-all ./codemeter-lite_8.20.6558.501_amd64.deb
或者
# DOWNLOAD
wget https://cdn-bukbb1.xgrids.cloud/developer/deploy/codemeter/codemeter-lite_7.51.5429.500_amd64.deb
# INSTALL
sudo dpkg -i --force-all ./codemeter-lite_7.51.5429.500_amd64.deb
CodeMeter Runtime如何卸載
如果操作系統版本較新(如Ubuntu 20.04.6 LTS 以上),執行7.51版本的安裝命令時,輸出中可能含有【Segmentation fault (core dumped)】這樣的錯誤信息。
sudo dpkg -i ./codemeter-lite_7.51.5429.500_amd64.deb
Selecting previously unselected package codemeter-lite.
(Reading database ... 113440 files and directories currently installed.)
Preparing to unpack .../codemeter-lite_7.51.5429.500_amd64.deb ...
Unpacking codemeter-lite (7.51.5429.500) ...
Setting up codemeter-lite (7.51.5429.500) ...
Segmentation fault (core dumped)
Processing triggers for systemd (245.4-4ubuntu3.20) ...
Processing triggers for man-db (2.9.1-1) ...
同時,執行cmu -l 命令,輸出信息中含有 "CodeMeter not running"錯誤信息,
此時建議執行卸載當前版本,然後下載8.20版本重新進行安裝。
# UNINSTALL
sudo apt-get --purge remove codemeter-lite
配置&啟動CodeMeter網絡授權服務
安裝完後需要打開CodeMeter的網絡服務器功能,具體操作步驟如下:
a) 暫停 CodeMeter 服務,使用命令行
sudo service codemeter stop
sudo service codemeter-webadmin stop
**※ 此處必須先stop,才可以修改ini文件。否則修改無效。**
b) 修改 Server.ini 配置文件;
sudoedit /etc/wibu/CodeMeter/Server.ini
# 或使用管理员权限调用熟悉的编辑器:
sudo vim /etc/wibu/CodeMeter/Server.ini
c) 修改Server.ini 配置文件中的 IsNetworkServer=1 (代表允許作為服務器為容器授權)
修改Server.ini 配置文件中的 CleanUpTimeOut=3(代表客戶端異常終止3分鐘後自動釋放許可點數)
修改Server.ini 配置文件中的 RemoteRead=2 (代表允許從其他電腦訪問授權服務器的WEBUI)
修改後保存文件。
d) 再次啟動 CodeMeter 服務,使用命令行
sudo service codemeter start
sudo service codemeter-webadmin start
e) 使用命令行 cmu -l 來檢測 CodeMeter 服務是否正常啟動,正常則如下圖顯示

f) 如果啟動異常,輸出內容中將會顯示CodeMeter not running。
嚴格按照上述手冊進行配置仍然異常的情況下,請聯繫技術支持獲取幫助。
CodeMeter授權服務器管理頁面
如果授權許可服務器的操作系統本身帶有圖形界面,可通過本機瀏覽器訪問 http://localhost:22352/dashboard.html 打開管理頁面。
從本機打開的管理頁面擁有「寫操作」的權限,如執行被授權客戶端下線等操作。

如果授權許可服務器的操作系統沒有圖形界面,上面安裝步驟中已設置Server.ini的RemoteRead=2 ,可允許從其他電腦訪問其管理WebUI頁面。如果尚未配置,配置方式如下:
1) 首先停止CodeMeter的管理页面服务(必须先停止)
sudo service codemeter-webadmin stop
2)修改ini
sudo vim /etc/wibu/CodeMeter/Server.ini
将[HTTP]配置段中的RemoteRead设置为2
RemoteRead=2
3) 重新启动
sudo service codemeter-webadmin start
此時,可以從另外一台電腦訪問網頁 http://服務器IP地址:22352/dashboard.html ,網頁中可查看授權管理情況:

導入授權
USB加密狗授權導入流程
插入綠色USB加密狗至這台服務器即可。
軟授權導入流程
- 下載XGRIDS離線授權工具軟件
#DOWNLOAD
wget https://xgbb1.oss-cn-shanghai.aliyuncs.com/developer/deploy/codemeter/codemeter-xgrids-tool
在服務器上執行工具,輸出許可請求文件 "XGrids-LCC-LICENSE-序列號.WibuCmRaC"
#DOWNLOAD codemeter-xgrids-tool wget https://xgbb1.oss-cn-shanghai.aliyuncs.com/developer/deploy/codemeter/codemeter-xgrids-tool #RUN codemeter-xgrids-tool chmod +x ./codemeter-xgrids-tool ./codemeter-xgrids-tool #OUTPUT: -----> Make XGrids.WibuCmLIF Executing command: /usr/bin/cmu -l Command output: cmu - CodeMeter Universal Support Tool. Version 8.20a of 2024-Dec-03 (Build 6558) for Linux Copyright (C) 2007-2024 by WIBU-SYSTEMS AG. All rights reserved. List all locally connected CmContainers: - CmContainer with Serial Number 130-2780241535 and version 3.00 (empty) Result: 1 CmContainer(s) listed. Found Serial Number: 130-2780241535 Executing command: /usr/bin/cmu --create-lt-context --lt-request-file XGrids-LCC-LICENSE-130-2780241535.WibuCmRaC -s 130-2780241535 --firmcode 6001945 Command output: cmu - CodeMeter Universal Support Tool. Version 8.20a of 2024-Dec-03 (Build 6558) for Linux Copyright (C) 2007-2024 by WIBU-SYSTEMS AG. All rights reserved. Context file created successfully. ====== XGrids-LCC-LICENSE-130-2780241535.WibuCmRaC Created! ======將生成的 XGrids-LCC-LICENSE-序列號.WibuCmRaC 文件發送給Xgrids 銷售人員;
- Xgrids 銷售人員利用該文件,提起授權許可的申請流程。
- 申請批准後,由Xgrids技術人員生成許可文件(XGrids-LCC-LICENSE-序列號.WibuCmRaU)。
Xgrids 將更新後的許可文件(XGrids-LCC-LICENSE-序列號.WibuCmRaU)發送給客戶。
客戶收到許可文件後(XGrids-LCC-LICENSE-序列號.WibuCmRaU),在服務器上執行下面的命令導入升級文件:
cmu --import-lt-update --lt-update-file XGrids-LCC-LICENSE-序列号.WibuCmRaU --firmcode 6001945 -s 序列号查看權限服務器內導入的權限訪問 http://服務器IP地址:22352/dashboard.html

更新授權流程
- 查詢並記錄當前服務器內的授權序列號
執行`cmu -l`命令,顯示當前系統中的許可序列號(例如,130-1299254712)。這個序列號將用於後續步驟中生成許可請求文件

在服務器上執行【生成許可請求文件】指令cmu --create-lt-context --lt-request-file "xxx.WibuCmRaC" -s130-xxxxxxxxxx --firmcode
6001945- 130-xxxxxxxxxx:上一步獲取的許可序列號
- xxx.WibuCmRac:許可請求文件名稱(可自定義名稱,後綴固定)
將生成的 xxx.WibuCmRac 給Xgrids 相關人員,由Xgrids 生成許可升級文件 xxx.WibuCmRaU (後綴固定)
在服務器上執行【導入許可升級文件】指令: cmu --import-lt-update --lt-update-file xxx.WibuCmRaU --firmcode
6001945-s 130-xxxxxxxxxx- 130-xxxxxxxxxx:上一步獲取的許可序列號
- xxx.WibuCmRaU :XGRIDS所生成的許可升級文件名稱(可自定義名稱,後綴固定)
查看更新後的服務器權限訪問 http://服務器IP地址:22352/dashboard.html

- 注意:因重裝系統導致授權失效後,需要將所有的【*.WibuCmRaU】依次導入才能恢復原有授權,請保存好每次交付的【*.WibuCmRaU】文件。
LCC容器啟動時的設定
LCC容器啟動時,將授權服務器的IP地址作為「CODEMETER_SERVER」環境變量傳入容器。
具體參考【LCC重建軟件Docker版】的說明書。
※ 在啟動LCC容器時候請注意,不要在啟動命令行裡使用 –privileged 參數
※ 容器的網絡連接一般默認為網橋 Bridge 模式,請保持該模式,否則加密程序可能無法通訊
其他
如何查看授權服務器的可訪問性
容器在另外宿主機上運行時,需首先確認該宿主機可以訪問到授權服務器的22350端口。
測試命令如下:
telnet 192.168.68.205 22350
Trying 192.168.68.205...
Connected to 192.168.68.205.
Escape character is '^]'.
同時需要注意,授權服務器以外的宿主機,不要安裝CodeMeter Runtime,否則容器運行時將首先尋找當前宿主機內的授權,導致無法正常獲取授權。
如何確定CodeMeter Runtime啟動是否異常
如果cmu -l 命令輸出信息中含有 CodeMeter not running,說明沒有正常啟動。請聯繫技術支持人員排查原因(有可能安裝中出現了失敗。)
cmu -l
cmu - CodeMeter Universal Support Tool.
Version 7.51 of 2022-Aug-25 (Build 5429) for Linux
List all locally connected CmContainers:
Result: 0 CmContainer(s) listed. (CodeMeter not running)
如何查看當前許可佔用情況查看
容器內的程序啟動後,將會根據指定的CodeMeter授權服務器地址申請執行所需的許可數量。
進程正常終止的情況下,一般數分鐘內許可證將被釋放;許可證可以被下一次啟動所正常利用。

如何手動釋放許可
如果容器被直接KILL的情況下,容器內進程所申請的許可證需要等待超時之後才能被釋放(CodeMeter許可服務器的默認超時時間一般為120分鐘,在本文檔的安裝教程中,已改為3分鐘)。
可以從許可監視器頁面,根據最後一次訪問時間,確認已終止的程序,點擊操作按鈕手工釋放。

注意:只有在授權服務器本機上打開WebUI頁面,才有操作權限。否則只能等待自動釋放。
授權異常處理方式
由於某些原因(系統異常)導致授權損壞時:
首先,刪除現有授權 cmu -s序列號 --delete-cmact-license
然後從第一次授權的WibuCmRaU文件開始逐個導入
參考:導入軟授權具體操作流程官方文檔
https://help.wibu.com.cn/help/FAQ/codemeter/cmact/1757
刪除服務器上綁定的軟鎖授權
參考官方文檔說明: https://help.wibu.com.cn/help/FAQ/codemeter/cmact/ad7e
如果是在Windows系統操作,請打開CMD,輸入命令行`cmu32 –l`,查看軟鎖序列號。
再用以下命令刪除軟鎖:
cmu32 -s130-1633636009 --delete-cmact-license
如果是在Linux系統操作,請輸入`cmu –l`命令查看軟鎖序列號,再用以下命令刪除軟鎖。
cmu -s130-1633636009 --delete-cmact-license