|
SS_UINT32 SSAPI | master_open (OUT MASTER_HANDLE *device_handle) |
| 打开签发设备(开发锁) 更多...
|
|
SS_UINT32 SSAPI | master_close (IN MASTER_HANDLE device_handle) |
| 关闭签发设备(开发锁) 更多...
|
|
SS_UINT32 SSAPI | master_get_developer_id (IN MASTER_HANDLE device_handle, OUT SS_BYTE *developer_id) |
| 获取开发锁开发商ID 更多...
|
|
SS_UINT32 SSAPI | master_get_root_count (IN MASTER_HANDLE device_handle, OUT SS_UINT32 *count) |
| 获取开发商锁内所有的根证书数量 更多...
|
|
SS_UINT32 SSAPI | master_get_ca_cert (IN MASTER_HANDLE device_handle, IN SS_BYTE ca_type, OUT SS_BYTE *ca_cert, IN SS_UINT32 cert_bufsize, OUT SS_UINT32 *cert_size) |
| 通过证书类型,获取开发锁 CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_get_ca_cert_ex (IN MASTER_HANDLE device_handle, IN SS_BYTE ca_type, IN SS_UINT32 root_index, OUT SS_BYTE *ca_cert, IN SS_UINT32 cert_bufsize, OUT SS_UINT32 *cert_size) |
| 通过证书类型,获取开发锁 CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_get_root_ca (IN MASTER_HANDLE device_handle, OUT SS_BYTE *root_ca, IN SS_UINT32 root_bufsize, OUT SS_UINT32 *root_size) |
| 获取开发锁 Virbox Root CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_get_device_ca (IN MASTER_HANDLE device_handle, OUT SS_BYTE *device_ca, IN SS_UINT32 device_bufsize, OUT SS_UINT32 *device_size) |
| 获取开发锁设备 CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_get_developer_ca (IN MASTER_HANDLE device_handle, OUT SS_BYTE *developer_ca, IN SS_UINT32 ca_bufsize, OUT SS_UINT32 *ca_size) |
| 获取开发锁开发者 CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_get_developer_cert (IN MASTER_HANDLE device_handle, OUT SS_BYTE *developer_cert, IN SS_UINT32 cert_bufsize, OUT SS_UINT32 *cert_size) |
| 获取开发锁开发者证书 更多...
|
|
SS_UINT32 SSAPI | master_get_developer_cert_ex (IN MASTER_HANDLE device_handle, IN SS_UINT32 root_index, OUT SS_BYTE *developer_cert, IN SS_UINT32 cert_bufsize, OUT SS_UINT32 *cert_size) |
| 根据根证书索引,获取开发锁开发者证书(扩展接口) 更多...
|
|
SS_UINT32 SSAPI | master_verify_ca (IN MASTER_HANDLE device_handle, IN SS_BOOL store, IN SS_BYTE ca_type, IN SS_BYTE *ca_cert, IN SS_UINT32 ca_len) |
| 验证开发锁 CA 证书 更多...
|
|
SS_UINT32 SSAPI | master_verify_ca_ex (IN MASTER_HANDLE device_handle, IN SS_BOOL store, IN SS_BYTE ca_type, IN SS_UINT32 root_index, IN SS_BYTE *ca_cert, IN SS_UINT32 ca_len) |
| 验证开发锁CA证书(扩展接口) 更多...
|
|
SS_UINT32 SSAPI | master_get_seedkey (IN MASTER_HANDLE device_handle, OUT SS_BYTE *key, IN SS_UINT32 max_key_len, OUT SS_UINT32 *key_len) |
| 获取签发设备的种子码密钥(种子码公钥) 更多...
|
|
SS_UINT32 SSAPI | master_get_info (IN MASTER_HANDLE device_handle, IN SS_BYTE type, OUT char **info) |
| 获取开发锁设备信息 更多...
|
|
SS_UINT32 SSAPI | master_heap_free (IN void *buf) |
| 释放内存 更多...
|
|
SS_UINT32 SSAPI | master_pin_change (IN MASTER_HANDLE device_handle, IN SS_BYTE pin_index, IN SS_BYTE *old_pin, IN SS_UINT32 old_pin_len, IN SS_BYTE *new_pin, IN SS_UINT32 new_pin_len, IN SS_BYTE *hash) |
| 修改开发商开发锁 PIN 码 更多...
|
|
SS_UINT32 SSAPI | master_pin_verify (IN MASTER_HANDLE device_handle, IN SS_BYTE pin_index, IN SS_BYTE *pin, IN SS_UINT32 pin_len) |
| 验证开发锁 PIN 码 更多...
|
|
SS_UINT32 SSAPI | master_pin_is_verified (MASTER_HANDLE device_handle) |
| 确认 PIN 码是否验证通过 更多...
|
|
SS_UINT32 SSAPI | master_pin_enable (MASTER_HANDLE device_handle) |
| 启用开发锁 PIN 码 更多...
|
|
SS_UINT32 SSAPI | master_pin_disable (MASTER_HANDLE device_handle) |
| 禁用开发锁 PIN 码 更多...
|
|
SS_UINT32 SSAPI | master_pin_deauth (MASTER_HANDLE device_handle) |
| 清除 PIN 权限 更多...
|
|
SS_UINT32 SSAPI | d2c_lic_new (IN MASTER_HANDLE device_handle, OUT D2C_HANDLE *d2c_license, IN ACCOUNT_TYPE account_type, IN SS_BYTE *account_id, IN SS_UINT32 account_size, IN SS_BYTE *cert, IN SS_UINT32 cert_size) |
| 创建 D2C 句柄,用于签发许可 更多...
|
|
SS_UINT32 SSAPI | d2c_file_new (IN MASTER_HANDLE device_handle, OUT D2C_HANDLE *d2c_file, IN SIGN_TYPE sign_type, IN SS_BYTE *param, IN SS_UINT32 param_size) |
| 创建D2C句柄,用于签发非许可类型升级包,例如签发文件 更多...
|
|
SS_UINT32 SSAPI | d2c_add_developer_cert (D2C_HANDLE d2c_handle, SS_BYTE *cert, SS_UINT32 cert_len) |
| 增加开发者证书链(不需要再调用了,保留仅为兼容性) 更多...
|
|
SS_UINT32 SSAPI | gen_dynamic_code (IN MASTER_HANDLE device_handle, IN SIGN_TYPE sign_type, IN SS_BYTE *param, IN SS_UINT32 param_size, IN SS_BYTE *exec_code, IN SS_UINT32 code_size, IN SS_UINT32 *bound_info, IN SS_UINT32 bound_size, OUT SS_BYTE *pkg, IN SS_UINT32 max_pkg_len, OUT SS_UINT32 *pkg_len) |
| 签发动态代码 更多...
|
|
SS_UINT32 SSAPI | d2c_add_pkg (IN D2C_HANDLE d2c_file, IN SS_CHAR *param, IN SS_CHAR *opr_desc) |
| 根据描述,生成升级包,并添加升级包到 D2C,针对非许可项内容的升级 更多...
|
|
SS_UINT32 SSAPI | d2c_add_lic (IN D2C_HANDLE d2c_license, IN SS_CHAR *param, IN SS_CHAR *opr_desc, OUT SS_CHAR guid[D2C_GUID_LENGTH]) |
| 根据描述,生成升级包,并添加升级包到D2C,针对许可项内容的升级 更多...
|
|
SS_UINT32 SSAPI | d2c_get (IN D2C_HANDLE d2c_handle, OUT SS_CHAR *d2c_buf, IN SS_UINT32 max_buf_len, OUT SS_UINT32 *out_len) |
| 从 D2C 句柄中获取 D2C 流,可保存为 .d2c 文件用于升级 更多...
|
|
const SS_CHAR * | d2c_get_pkg_desc (IN D2C_HANDLE d2c_handle, IN SS_UINT32 index) |
| 获得开发者自定义的 D2C 操作描述 更多...
|
|
SS_UINT32 SSAPI | d2c_delete (IN D2C_HANDLE d2c_handle) |
| 删除 D2C 句柄 更多...
|
|
SS_UINT32 SSAPI | d2c_sign (IN MASTER_HANDLE master_handle, D2C_HASH_ALGO hash_algo, IN SS_UINT32 root_index, IN SS_BYTE *data_in, IN SS_UINT32 data_len, OUT SS_BYTE *sign, IN SS_UINT32 max_sign_len, OUT SS_UINT32 *sign_len) |
| D2C 签名 (开发者不必关心) 更多...
|
|
SS_UINT32 SSAPI | d2c_encrypt (IN SS_BYTE *certs, IN SS_UINT32 certs_len, IN const SS_BYTE *plain, IN SS_UINT32 plain_len, OUT SS_BYTE *cipher, IN SS_UINT32 max_cipher_len, OUT SS_UINT32 *cipher_len) |
| D2C加密 (开发者不必关心) 更多...
|
|
SS_UINT32 SSAPI | get_snippet_seed (IN MASTER_HANDLE master, IN SS_UINT32 license_id, OUT SS_BYTE snippet_seed[SNIPPET_SEED_LENGTH]) |
| 获取碎片代码种子(开发者不必关心) 更多...
|
|
SS_UINT32 SSAPI | gen_snippet_code (IN MASTER_HANDLE master, IN SS_UINT32 license_id, IN const SS_BYTE *evx_code, IN SS_UINT32 evx_size, OUT SS_BYTE *snippet_code, IN SS_UINT32 snippet_buf_size, OUT SS_UINT32 *snippet_size) |
| 生成碎片代码(开发者不必关心) 更多...
|
|
SS_UINT32 SSAPI | gen_snippet_code_with_key (IN const SNIPPET_CODE_CONTEXT *sc_ctx, IN const SS_BYTE *evx, IN SS_UINT32 evx_size, OUT SS_BYTE *snippet_code, IN SS_UINT32 snippet_bufsize, OUT SS_UINT32 *snippet_size) |
| 获取生成碎片代码请求(开发者不必关心) 更多...
|
|
SS_UINT32 SSAPI | license_encrypt (IN MASTER_HANDLE master, IN SS_UINT32 license_id, IN const SS_BYTE *plain, IN SS_UINT32 len, OUT SS_BYTE *cipher) |
| 使用开发锁进行许可加密(开发者不必关心) 更多...
|
|
SLM许可远程升级头文件.
可以对许可增、更新、删除、锁定、解除锁定等操作;增、删、改写文件操作;修正锁内虚拟时钟;签发动态代码包。
使用流程:
前提,调用master_open打开开发锁,用于签发d2c包
- 签发许可
第一步,调用 d2c_lic_new 创建d2c句柄
第二步,调用 d2c_add_lic 添加许可条款
第三步,调用 d2c_add_developer_cert 向D2C中添加设备证书链
第四步,调用 d2c_get 获取最终的d2c信息,可将结果直接通过ss_lm_update提供的接口升级到锁内,
或者保存为*.d2c的文件异步方式升级到锁内。
- 签发文件
第一步,调用 d2c_file_seed_new 创建d2c句柄
第二步,调用 d2c_add_pkg 添加文件内容
第三步,调用 d2c_add_developer_cert 向D2C中添加设备证书链
第四步,调用 d2c_get 获取最终的d2c信息,可将结果直接通过ss_lm_update提供的接口升级到锁内,
或者保存为*.d2c的文件异步方式升级到锁内。
最后,调用 d2c_delete 释放句柄,调用master_close关闭开发锁
D2C操作较为复杂,详细使用方法可通过Virbox SDK提供的Samples进行学习
- 版本
- 2.2.0
- 日期
- 2014-2018
在文件 d2c.h 中定义.