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