Docker让开发者可以打包应用程序及依赖包到可移植的镜像中,然后发布到任何流行的linux或windows机器上,也可以实现虚拟化。许多开发者关心如何在Docker容器中实现软件加密及授权管理,CodeMeter将会是开发者的得力工具。
CodeMeter是一款软件加密及授权管理综合解决方案,其最大优势是可以实现从Windows、mac OS到Linux,从X86到嵌入式系统,从VmVare虚拟机到Docker容器,跨平台实现软件的保护、授权和数据的安全加密。
只需要简单操作即可完成对运行在Docker容器下的软件进行加密,与加密普通程序无任何区别,通过相关配置即可实现容器下的授权设置。
CodeMeter支持多种工作模式,例如本地访问、局域网访问、互联网访问等。对于使用Docker容器的用户,我们建议授权许可配置在宿主机上,通过TCP/IP协议与主机进行通讯,获取授权。具体操作流程如下:
在宿主机上安装CodeMeter Runtime,此处以6.90.3699.501版为例。
CodeMeter Runtime分标准版和精简版。标准版包含所有功能模块,包括图形界面工具以及Webadmin管理界面,精简版不需要GUI库支持,可以安装在纯控制台版的Linux上。建议Dockers容器中安装精简版。
安装完毕,请停止CodeMeter,修改配置文件,启动宿主机的CodeMeter网络服务器。具体步骤如下:
a. service codemeter stop
b. vi/etc/wibu/CodeMeter/Server.ini
c. 将Server.ini中的IsNetWorkServer改成1
d. 改动完毕,保存,重新启动CodeMeter服务
安装完毕之后,CodeMeter服务会自动启动,此时可以通过命令cmu–l(小写字母L)来判断服务是否正常。如果能检测到任何一个已连接的 CmDongle,即说明服务运行正常。
启动Docker容器并安装runtime。建议将容器网络模式设置为bridge。如果设置为host模式,将造成宿主机或容器无法启动Codemeter,因为两者会抢占22350端口。由于Codemeter需要usb库支持,而大部分Docker容器内都不带libusb,因此,启动container之后请先安装libusb1.0.0:apt install libusb1.0.0 。
复制runtime安装包到容器内:
docker cp codemeterlite_6.90.3699.501_amd64.deb c40e1a262d88:/root/ 。
容器内安装Runtime:
dpkgiforceall codemeterlite_6.90.3699.501_amd64.deb。由于容器内仍旧会缺少某些依赖库,但是不影响Runtime正常运行,因此此处请使用—forceall进行安装。
安装完毕之后启动CodeMeter服务:service codemeter start 。
服务启动成功之后,通过执行cmu–k–x,查看服务器端的许可。如果能显示如下信息,则说明docker配置已经完成。如果仍旧无法查找到加密锁,请尝试添加宿主机IP到容器内的CodeMeter许可搜索列表:cmuaddserver 192.168.1.1,然后再重新执行cmu–k–x查看许可。
1.关注@威步上海,了解更多软件保护知识。
2.点击头像私信「wibu」,免费领取软件加密锁试用套件。