CODEMETER 核心接口
Core API
除了全自动加密及自定义加密工具之外,强大的Core API工具可以实现更高安全级别的加密强度及更为灵活的授权设定。
Core API 增加包括代码移植、非对称算法签名认证、加密锁内数据读写、数据陷阱等加密方法。CoreAPI结合AxProtector、IxProtector可达到顶级安全强度,特别是在通讯模拟、内存补丁、代码反编译等破解手段方面有较强的防范。
CodeMeter核心接口使软件开发人员能够直接从其软件中访问CodeMeter功能。这些功能通常涉及以下三种情况:
- 使用和管理许可
- 读写数据
- 使用加密功能
对于CodeMeter驱动,CodeMeter核心接口可以作为动态库,.NET程序集和Java接口使用。通过这些接口,几乎所有常见的编程语言都可以使用CodeMeter核心接口,包括C/C ++,C#,C ++/CLI,Delphi,Java,Fortran,Fortran,VB,VB.NET和Python。
CodeMeter核心接口也可以作为CodeMeter开发包的一部分,以及作为CodeMeter驱动和CodeMeter嵌入式的静态C库使用。对于CodeMeter 嵌入式和CodeMeter µEmbedded,CodeMeter核心接口可以作为源代码使用,也可以作为软件开发包的一部分使用。CodeMeter核心接口已针对支持CodeMeter的所有平台发布,包括Windows,macOS,Linux,Android,VxWorks和QNX。
CodeMeter核心接口 | CodeMeter变量 | 部分 | 操作系统/环境 | 程序语言 |
静态库 | CodeMeter驱动 | CodeMeter开发包 | Windows(x86,x86-64), | C / C ++ |
静态库 | CodeMeter嵌入式 | CodeMeter嵌入式开发包 | Windows(x86,x86-64), | C / C ++ |
动态库 | CodeMeter驱动 | CodeMeter驱动 | Windows(x86,x86-64), | C / C ++,Delphi,VB,Fortran,Python等 |
.NET程序集 | CodeMeter驱动 | CodeMeter驱动 | Windows(x86,x86-64) | C#,C ++ / CLI,VB .NET |
.NET标准汇编 | CodeMeter驱动 | CodeMeter 驱动 | Windows(x86,x86-64), | C#,VB.NET |
Java接口 | CodeMeter驱动 | CodeMeter 驱动 | Windows(x86,x86-64), | Java |
源代码 | CodeMeter嵌入式 | CodeMeter嵌入式开发包 | 任何操作系统 | C / C ++ |
源代码 | CodeMeter µEmbedded | CodeMeter µEmbedded开发包 | 任何操作系统 | C / C ++ |
使用和管理许可证
CodeMeter核心接口为软件开发人员提供了决定如何在其软件中使用许可证的功能。可以在启动软件时检查许可证,然后可以根据可用许可激活,停用或隐藏各个功能。开发人员还可以决定是否在启动过程中或相应功能的首次使用时分配了许可。他们还可以确定许可是在软件终止时发布还是在相应功能结束时发布。CodeMeter自动检查许可是否有效;过期的许可证或其他软件版本的许可证将被自动拒绝。如果有多个有效许可,CodeMeter就会自动选择最合适的选项。
许可发布后,将通知CodeMeter该许可将再次可用于其他应用程序,这很重要,例如,在使用浮动网络(并行使用)许可时。如果在许可发行之前应用程序崩溃或终止,CodeMeter将自动处理并释放最终的孤立许可。
为了提高安全性,CodeMeter核心接口允许使用存储在许可中的密钥对数据进行加密。没有正确的许可,数据无法解密和使用。
除了使应用程序能够有效使用许可之外,CodeMeter还允许开发人员管理许可并创建自己的许可管理器。然后,他们可以访问,读取或列出过期或无效的许可。可以通过CodeMeter许可中心离线或在线激活和停用许可。用户还可以根据需要简单地借用和归还许可。
读写数据
CodeMeter提供了将数据存储在许可中并使这些数据可在应用程序中使用的机会。软件开发人员可以在原始创建过程中将此数据写入许可。取决于所选的数据字段,对数据的访问在运行时是开放的,或者受特殊加密操作(用作密码)的限制。开发人员还决定是否可以在运行时覆盖数据,这将限于特定的编程顺序(用作另一个密码),因此同样只适用于特定的软件应用程序。
使用带有闪存的加密锁,CodeMeter核心接口还可以在闪存的特殊隐藏分区(安全光盘)中读取和写入数据。与许可中包含的数据(范围可能从几个字节到几千字节)形成对比,这为加密锁提供了几GB的数据空间。此选项特别用于日志文件的安全存储。
数据类型 | 大小 | 带闪存的加密锁 | 不含闪存的加密锁 / 软锁 | 运行时读取 | 运行时写入 | 关键来源 |
用户数据 | 256字节 | 是 | 是 | 是 | 是 | 没有 |
受保护的数据 | 256字节 | 是 | 是 | 是 | 可配置(密码**,否) | 没有 |
扩展保护数据 | 128 x 256字节 | 是 | 是 | 是 | 可配置(密码**,否) | 没有 |
隐藏数据 | 128 x 256字节 | 是 | 是 | 密码* | 可配置(密码**,否) | AES 128,ECC 224 |
隐秘数据 | 128 x 256字节 | 是 | 是 | 没有 | 可配置(密码**,否) | AES 128,ECC 224,RSA 1024,RSA 2048 |
通用数据 | 受智能卡芯片大小的限制 | 是 | 是 | 没有 | 没有 | AES 256,RSA 4096 |
安全磁盘 | 受闪存大小限制 | 是 | 没有 | 密码 | 密码** | 没有 |
*隐藏数据访问代码
** 编程顺序
使用加密功能
CodeMeter允许用于加密操作的密钥安全地存储在许可中,包括用于加密的OPC UA通信的私钥。这些键通常无法读取,但可用于CodeMeter核心接口。可以直接在加密狗中创建密钥,以确保密钥永远不会离开安全的加密狗。
可通过CodeMeter核心接口使用以下功能:
- 计算哈希值(SHA 256)
- 对称地加密和解密数据(AES 128,AES 256)
- 非对称地加密和解密数据(ECIES 224,RSA 1024,RSA 2048,RSA 4096)
- 签名数据(ECDSA 224,RSA 1024,RSA 2048,RSA 4096)
- 计算存储私钥的公钥(ECDSA 224,ECIES 224)
这些功能可广泛应用于不同应用软件:
- 加密的设置和数据可以存储在软件中,以实现更高级别的保护
- 由受保护的应用程序创建的数据可以进行加密,以将访问权限限制为拥有有效许可的授权用户
- 数据和日志文件可以签名来证明其真实性和完整性
- 密钥可用于启动加密通信