圣天诺LDK·软件许可证丢失、无效、克隆或显示警告解决方案

2020-03-04 软件货币化 277

此处描述的论据只是边缘情况,例如,Sentinel LDK软件许可证的反恢复保护生效或客户的机器上缺少某些LDK证书。

而且,预计这些情况在现场不会经常发生。
由于上述原因,不建议您先不熟悉
Sentinel LDK如何检测机器克隆来开始阅读本文档。

该文档是在LDK 7.10发行时编写的,其运行时间从7.90到7.102。
从7.90到7.10的保护机制发生了根本变化,影响了SL-AdminMode和SL-UserMode,因此,某些段落将根据许可证类型和版本描述不同的行为。

段落:

  1. 术语和前提

软件许可版本

安全存储和安全存储标识符

证明书

证书文件夹

  1. 故障排除

密钥ID重复

许可证无效(由于缺少证书)

许可证消失(由于缺少证书,磁盘更换或磁盘格式)

由于安全存储ID不匹配,导致克隆/禁用了许可证

强制应用会产生错误的H2H文件 

清除克隆状态

A.术语和前提

软件许可版本和组件

在本文中,软件“许可证版本”被称为部署在客户计算机上的LDK组件的版本。
所有这些都应与同一版本对齐,因为版本不匹配可能会导致检测差异。

请考虑许可证管理器的LDK 类型的存在。
升级以下版本:

SL-AdminMode:LDK Admin许可证管理器,它是haspvlib 

SL-UserMode:LDK API(集成许可证管理器)或haspvlib和外部许可证管理器(hasp_rt.exe)。

实际上意味着升级许可证版本以及它的反克隆方案,反恢复保护等。

为了生成LDK-EMS的更新运行安装程序(许可证管理器+ Haspvlib),请阅读这篇文章:KB0017579 -更新haspvlib和运行在哨兵LDK EMS
主向导描述INT KB0017579实际上将获取LDK API的新版本也可以,但是开发人员可能需要重新编译受保护的应用程序。

安全存储和安全存储标识符

安全存储是Sentinel LDK用来指代“磁盘上的位置”的名称,在该位置上存储了一些软件许可证的动态信息。

安全存储还拥有唯一的标识符,该标识符也参与了许可证反克隆机制。

证明书

所有LDK软件许可均在每个供应商特定的文件夹中保留许可文件的副本,以显示(有时修复)许可。

对于SL-Admin模式许可证(仅),可以通过按按钮 或打开直接链接列出所有已安装的证书:http://localhost:1947 / _int_ / certificates.html?haspid = keyid

预期结果应类似于下图:

1.png

证书具有不同的文件扩展名:

用于激活和更新的 v2c
可以从Sentinel LDK EMS中获取这些证书的副本。

h2h 重新托管文件
单个h2h文件将包含用于许可证传输的所有信息,如果部署了多个v2c文件,则将它们压缩在唯一的h2h文件中以进行许可证传输。
这些证书的副本可从以下位置的原始计算机中获取:
%ProgramFiles(x86)\ Common Files \ Aladdin Shared \ HASP \ rehosted \

h2r 分离许可证文件
这些文件仅由启用了分离座位的网络许可证生成。
这些证书的副本可从以下位置的原始计算机获取:
%ProgramFiles(x86)\ Common Files \ Aladdin Shared \ HASP \ detached \
原始名称模式为:yyyymmmm__hhmmss_0001.h2r

当复制到“ 证书”文件夹中时,  这些文件必须命名为:

keyid的_base.v2c

keyid的_update1.v2c

keyid的_rehost.h2h

例外:
分离的许可证不使用与其他许可证相同的文件夹,但“临时”分离的文件存储在以下位置:
%ProgramFiles(x86)\ Common Files \ Aladdin Shared \ HASP \ attached \
分离的许可证也通过再次从服务器分离(延长期限),可以轻松恢复。

证书文件夹:

下面列出了相关的路径,不得将这些路径透露给客户以防止意外或故意的故障:

SL-UserMode证书文件夹

视窗

%PROGRAMDATA%\ SafeNet Sentinel \ Sentinel LDK \ Installed \

LINUX

/ home /用户名/.hasplm/installed/vendorid/

 

SL-AdminMode证书文件夹

视窗

%ProgramFiles(x86)%\ Common Files \ SafeNet Sentinel \ Sentinel LDK \ Installed \

LINUX

/ var / hasplm / installed /

故障排除

1.重复的密钥ID

问题外观(SL-AdminMode)

如果在网络上找到具有相同密钥ID的SL-AdminMode,则在密钥类型列下可能会出现红色消息重复密钥ID:

2.png

发生这种情况时,“ Sentinel Keys”菜单中不会显示重复的密钥,但是如上图所示,当将鼠标移到警报上时,将显示工具提示,并报告找到重复密钥的主机名和IP。

注意:由于所有SL-AdminMode都默认启用了零功能供网络使用,因此即使仅部署了本地/独立许可证,所有SL-AdminMode密钥也会发生这种情况。

这种行为是不相关的软件许可证LDK防克隆保护。
实际上,这种情况只是警告,不会禁用任何重复的键,产品或功能。

LDK-API和Envelope客户端将能够使用所有许可证。

原始机器:

3.png

克隆机:

4.png

客户端计算机看到一个或另一个,而不是同时看到:

5.png

解决方案:

如果在“副本”上插入了LDK Anti-Clone保护,则该许可证不能被使用,并且不应过度使用许可证,但仍会显示警告。

要消除警告,可以采取许多措施(最好是对克隆的采取措施):

  1. 关闭两台机器之一的电源。

  2. 卸载LDK Admin许可证管理器。

  3. 在其中一台计算机上删除SL-AdminMode证书,然后重新启动许可证管理器。

  4. 一种更安全的选择是将密钥之一(通过重新托管)转移到供应商的机器上。

不同的是,“格式文件”不会删除警告,因为“零功能”将保持不变。

独立地,这种现象表明可能已经克隆了具有许可证的机器,因此在与发出警告的客户联系时应考虑采取适当的措施。

注意:尽管最新的许可证管理器7.x能够处理多以太网场景并处理“循环网络路径”,但对于特殊和罕见的网络状况,存在一个很小的可能性,单个许可证管理器可能会将“自身”视为重复项。我们建议仔细评估每个客户的案例,而不要在分析之前就得出结论。

如有疑问,我们建议将问题发送给我们的技术支持,并描述在客户现场发现的情况。

2.许可证无效(由于缺少证书)

问题外观(仅SL-AdminMode)

由于有了管理控制中心,所有SL-AdminMode许可证都更容易识别这种情况:

具有有效证书的SL-AdminMode 活动许可证显示以下图像:6.png

SL-AdminMode 非活动许可证显示为:7.png

例如,通过打开页面http:// localhost:1947 / _int_ / devices.html的管理控制中心,将显示:

8.png

列出无效许可证的证书显示:

9.png

问题外观(仅SL-UserMode)

SL-UserMode不需要管理许可证管理器服务即可工作。
在这种情况下,唯一的选择是从Sentinel LDK EMS中获取所有v2c 证书,或从生成它们的原始计算机中获取h2h / h文件。

但是,如果还安装了Admin License Manager,并且还正在运行“ hasplmv.exe”进程,则SL-UserMode也会显示在Admin Control Center中。
可能会显示无效的SL-UserMode许可证(如果至少存在一个证书)。
如果发生这种情况,它将始终显示“活动证书”图标,但“版本”列将为空,同样,由于无法读取产品和功能,“产品”按钮也将丢失,请参见下图:

10.png

同样,通过按 非活动的SL-UserMode上的按钮也不会显示任何功能:

11.png

解析度

与下面的问题B类似,将所有缺少的证书(v2c,h2h或h2r)应用(重新)应用到相关计算机就足够了。
可以通过管理控制中心的“ 更新/附加”部分(http:// localhost:1947 / _int_ / checkin.html)或通过RUS工具或“ hasp_update”功能手动应用它们。

另外,也可以手动将这些文件重命名并放置在适当的证书文件夹中(请参阅术语和前提部分)。

3.许可证消失(由于缺少证书,磁盘更换或磁盘格式)

问题外观

如果从“ 证书”文件夹中删除了与特定KeyID相关的所有证书, 则许可证管理器将不会尝试加载这些许可证,因此,“ 管理控制中心”将不再显示许可证。
同样,RUS工具和API GetInfo函数也将无法显示许可证

解决方法(如果尚未格式化系统磁盘)

如果系统磁盘尚未格式化,则安全存储可能仍未损坏。

在这种情况下,只需通过“ 更新/附加”部分中的“ 管理控制中心 ” 将所有证书(v2c,h2h或h2r)依次重新应用到相关计算机即可。一旦应用了所有证书,许可证将再次可用,并且所有先前的许可证条款和计数器将保持原样(不重置)。这包括剩余执行,计算过去时间的最后一个已知日期,分离的许可证计数等。解决方法(如果系统磁盘已格式化)



如果系统磁盘已格式化并且尚未还原以前的文件系统映像,或者由于任何原因安全存储标识已更改:

  • 直到LDK 7.9,任何先前存在的SL-UserMode都无法恢复(除非先升级),而SL-AdminMode可以通过以下方法恢复。
    在这种情况下,v7.9 SL-UserMode许可证不会在Admin Control Center中显示,也不会通过API Get_Info函数显示(即使证书已正确还原)

  • 从7.10起,两种LDK软件许可证的行为均相同,并且可以通过以下方法进行恢复。 

重要说明:
发生这种情况时,先前存在的许可证的任何安全信息都将丢失(最后的已知日期,执行计数器,重新托管信息等)。
在遵循以下方法或激活新许可证之前,强烈建议确认最终用户的许可证替换请求是否合法。
例如,可以解码取自机器的新C2V,并将其与旧机器或EMS中存储的C2V进行比较,从而尝试确定机器是否相同或完全不同。

首先,必须通过Admin Control Center的Update / Attach部分(http:// localhost:1947 / _int_ / checkin.html)或通过RUS工具或“ hasp_update”功能应用所有v2c / h2h 文件。另外,也可以手动将这些文件重命名并放置在适当的证书文件夹中(请参阅术语和前提部分)。

证书放回原处并显示许可证后,由于安全存储ID不匹配,预期许可证将处于下一段所述的状态。克隆/禁用了许可证
在这种情况下,足以执行清除克隆操作(请参阅
清除克隆状态段落)以重新启用许可证(保留相同的密钥ID,也无需消耗主密钥的其他激活或席位)。

4.由于安全存储ID不匹配,许可证被克隆/禁用

问题外观

使用较新的运行时和haspvlib版本7.100(及更高版本)可以轻松在Admin Control Center中识别这种情况。
在Sentinel Keys菜单(http:// localhost:1947 / _int_ / devices.html)中,SL-AdminMode和SL-UserMode许可证都将显示如下:

12.png

在产品中(http:// localhost:1947 / _int_ / products.html):

13.png

在功能(http:// localhost:1947 / _int_ / features.html)中:

14.png

注意:
在运行时和haspvlib版本7.100(及更高版本)中,如果许可证是“永久永久性”(禁用重新启动,禁用分离,不具有基于时间或基于执行的功能),则这种情况可能会有所不同,因为它不会禁用简单-永久的个性化功能(除非还启用了抗克隆保护):

15.png

对于较早的运行时以及具有7.90或更高版本的haspvlib,SL-AdminMode将显示为Cloned:

16.png

在产品中,不会显示任何警报:

17.png

在功能中,可能只有功能ID 0被禁用,而其他功能可以被启用(这取决于是否将反克隆模式用于个性化功能):

18.png

仍然具有较旧的运行时和版本高达7.90的haspvlib,SL-UserMode在Admin Control Center或API中均不可见,因此,本段中所述的条件将不会发生。

注意:运行时和版本早于7.65的haspvlib,即使SL-AdminMode在Admin Control Center或API中也不可见,并且应用任何针对旧的/不同的安全存储的v2c文件都将引发错误78 SECURE_STORAGE_ID_MISMATCH。

分辨率(SL-AdminMode v7.65 +或SL-UserMode v7.10 +)

使用LDK-EMS 7.9(或更高版本),足以从禁用的许可证中收集新的C2V文件,然后通过LDK-EMS或许可证生成API执行“清除克隆”操作(请参阅“ 清除克隆状态”部分)。

注意:
与上段 
许可证一样(由于缺少证书,磁盘更换或磁盘格式),安全存储内的信息已经丢失。
继续执行以下解决方案意味着忽略反恢复保护的目的或使客户主张合法化,并接受从头开始重新启用许可证(例如,执行计数器和Last-Good-Known-Date之类的参数重启)。

5. 应用h2h会给出错误78(安全存储ID不匹配)或错误64(检测到克隆的安全存储区域)

问题截图:

通过管理控制中心为SL-AdminMode引发错误78或64,但是对于RUS-AdminMode和SL-UserMode,也可以通过RUS工具发生。
这是管理控制中心Web界面中外观的示例:

19.png
Pasted image(11).png

解决方案:

这种情况与以上段落类似,由于安全存储ID不匹配或由于所选反克隆检测方案禁用了许可证,导致克隆/禁用了许可证,唯一的区别是未应用h2h 证书或尚未到位(请参阅“ 证书文件夹”段)。
同样,只能从7.10版本开始还原SL-UserMode,而从7.65 版本开始可以还原SL-AdminMode。

注意:
如果安全存储ID发生了更改(如上段 
许可证(由于缺少证书,磁盘替换或磁盘格式)),在这种情况下,安全存储内的信息已经丢失(例如,如果h2h 被应用,消耗和然后通过擦除安全存储来删除)
。按照以下解决方法进行操作,意味着忽略了防还原保护的目的或使客户要求合法化,并接受将从头开始重新启用许可证。

对于这些版本,可以遵循以下步骤:

  1. 将相关的h2h 文件重命名为以下格式:“ keyid _rehost.h2h ”,例如:“ 8923094496965464_rehost.h2h ”。

  2. 将其放入正确的证书文件夹 SL-AdminMode证书路径,以测试批处理代码DEMOMB为例:
    C:\ Program Files(x86)\ Common Files \ SafeNet Sentinel \ Sentinel LDK \ installed \ 37517 \

  3. 对于SL-AdminMode,重新启动Sentinel LDK许可证管理器,而对于SL-UserMode,足以重新启动许可的应用程序。

此时,情况应与上段“ 由于安全存储ID不匹配而导致克隆/禁用许可证 ”中所述完全相同。此后使用LDK-EMS 7.9(或更高版本)时,在这种情况下,只需执行Clear Clone操作(请参阅“ Clear Cloned status”部分)即可重新启用许可证(保留相同的Key ID,也无需使用其他激活或座位)。主密钥)。

6.清除克隆状态

问题外观

如果某些机器元素的更改触发了LDK防克隆保护,则SL-AdminMode或SL-UserMode许可证将在管理控制中心(http:// localhost:1947 / _int_ / devices.html)中显示为“已克隆 ”。 :

20.png

产品(http:// localhost:1947 / _int_ / products.html)也会显示为“ 由于以下原因而被禁用 ”:

21.png

功能(http:// localhost:1947 / _int_ / features.html)将为“ 已禁用 ”:

22.png

注意:如果某个功能显示为“ 无法使用 ”,则根本原因可能与克隆不同,例如时间篡改。

注意:如果安全存储ID已更改,则对于SL-AdminMode版本7.65+或对于SL-UserMode版本7.10+,功能ID 0也将被“ 禁用 ” ,如由于安全存储ID而克隆/禁用许可证中所述。不匹配。 尽管如此,反克隆和安全存储ID的条件更改也可以同时出现,这意味着从7.65到7.90的SL-AdminMode也可以具有“禁用”的所有功能,包括功能0和“简单永久”功能。
 

解决方案:

需要连接的主密钥才能执行操作,具体选择取决于所使用的LDK生产系统。
该LDK-EMS的官方文件是为
检查在C2V文件,并启用而被禁用由于检测到克隆许可证

注意:
并非所有许可证都可以通过此方法成功重新启用,请参阅:
适用于清晰克隆操作的合格C2V和后续段落不合格C2V的V2C生成

总结一下,针对LDK-EMS的这些步骤:

  • 打开EMS并登录供应商门户

  • 打开权利选项卡

  • 选择正确的“ 批处理代码 ”(请参见下图的步骤1)

  • 然后点击“签入C2V ”标签

  • 通过“ 浏览 ”按钮加载C2V (请参见下图的步骤2)

  • 然后按下“ 签入 ”按钮(请参见下图的第3步)。
    如果许可证被克隆,则许可证的“密钥状态”下将显示“已克隆”,并显示红色警告:不允许签入:已检测到克隆!
    此警告旨在通知EMS将不会执行将密钥信息更新到EMS数据库的签入操作,因为这些信息可能来自克隆的计算机。

  • 最终按下“ 清除克隆 ”按钮以生成新的v2c(请参见下图的第4步)
    注意:此操作还将把关键信息更新到EMS数据库中,因此EMS将新硬件(在克隆的C2V内)视为更新了一个。

请参见下图以供参考:

23.png

许可证生成API
执行以下序列:

  • sntl_lg_initialize

  • sntl_lg_start以sntl_lg_license_type_t作为SNTL_LG_LICENSE_TYPE_CLEAR_CLONE传递禁用的许可证的c2v。

  • sntl_lg_generate_license

有关详细信息,请参阅Sentinel许可证生成API参考。

注意: 
不可能从克隆状态的SL-UserMode收集C2V 直到版本7.90,换句话说:

  • 必须将LDK API升级到7.10才能收集此类C2V

  • 或者,如果在许可应用程序中部署,则必须同时更新外部haspvlib和外部许可管理器(hasp_rt.exe)

  • 另外,也可以安装运行时程序包(Sentinel LDK许可证管理器和haspvlib),并从管理控制中心(http:// localhost:1947 / _int_ / devices.html)的SL-UserMode收集C2V。

电话咨询
我的订单
获取试用