通用操作系统商用密码子系统功能调用接口错误码定义、引擎开发和使用示例.pdfVIP

  • 0
  • 0
  • 约5.31千字
  • 约 4页
  • 2025-10-21 发布于河南
  • 举报

通用操作系统商用密码子系统功能调用接口错误码定义、引擎开发和使用示例.pdf

T/ZISIAXXXX.2-20XX

附录A

(规范性)

错误码定义

表A.1给出OSSM_GetLastError()接口返回的错误码定义。

表A.1OSSM_GetLastError()接口返回的错误码定义

错误码名称预定义值说明

OSSM_ERR_INVAL1参数无效或非法

OSSM_ERR_NOMEM2内存分配失败

OSSM_ERR_AGAIN3需要重试,

OSSM_ERR_BUSY4资源被占用

OSSM_ERR_NOKEY5不存在该密钥

OSSM_ERR_BADMSG6数据完整性校验失败

OSSM_ERR_IO7底层硬件或传输错误

OSSM_ERR_NOSYS8请求的操作未实现

OSSM_ERR_PROTO9协议错误

OSSM_ERR_NODEV10设备不存在

OSSM_ERR_FAULT11指针非法

OSSM_ERR_NOENT12文件或目录不存在

OSSM_ERR_TIMEDOUT13超时

OSSM_ERR_ALREADY14操作进行中

OSSM_ERR_INTERNAL_ERROR15内部错误

42

T/ZISIAXXXX.2-20XX

附录B

(资料性)

引擎开发和使用示例

以下是一个密码资源调用OS用户态商密资源挂接接口开发引擎的示例。示例代码实现了一个名为

demo的引擎,该引擎提供SM4算法CBC模式的密码功能。

引擎开发示例代码

//定义加解密算法的上下文结构体,用于存储计算过程中的相关数据

typedefstruct{

//something

}demo_ctx;

//定义引擎的ID

staticconstchar*engine_demo_iddemo;

//定义引擎的名字,用于唯一标识该引擎

staticconstchar*engine_demo_namedemoengine;

staticconstOSSM_CIPHER*sm4_cipherNULL;

//定义支持的对称加密算法,这里只支持SM4-CBC

staticintafalg_cipher_nids[]{

NID_sm4_cbc,

};

//引擎初始化函数,在引擎启动时调用,执行初始化等操作

staticintdemo_init(OSSM_ENGINE*e)

{

文档评论(0)

1亿VIP精品文档

相关文档