国密SKF接口函数介绍之五:容器管理函数

概述
        本规范提供的应用管理用于满足各种不同应用的管理,包括创建、删除、枚举、打开和关闭容器的操作。容器管理系列函数如下表所示: 

表:容器管理系列函数

函数名称功能
SKF_CreateContainer创建容器
SKF_DeleteContainer删除容器
SKF_EnumContainer枚举容器
SKF_OpenContainer打开容器
SKF_CloseContainer关闭容器
SKF_GetContainerType获得容器类型
SKF_ImportCertificate 导入数字证书
SKF_ExportCertificate导出数字证书

1、创建容器

函数原型:ULONG DEVAPI SKF_CreateContainer (HAPPLICATION hApplication, LPSTR szContainerName, HCONTAINER *phContainer)
功能描述:在应用下建立指定名称的容器并返回容器句柄。
参        数:hApplication:[IN] 应用句柄。
                    szContainerName:[IN] ASCII字符串,表示所建立容器的名称,容器名称的最大长度不能超过64字节。
                    phContainer:[OUT] 返回所建立容器的容器句柄。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:权限要求:需要用户权限。
2、删除容器
函数原型:ULONG DEVAPI SKF_DeleteContainer(HAPPLICATION hApplication, LPSTR szContainerName)
功能描述:在应用下删除指定名称的容器并释放容器相关的资源。
参        数:hApplication:[IN] 应用句柄。
                    szContainerName:[IN] 指向删除容器的名称。
返  回  值:SAR_OK:成功;其他:错误码。
备        注:权限要求:需要用户权限。
3、打开容器
函数原型:ULONG DEVAPI SKF_OpenContainer(HAPPLICATION hApplication,LPSTR szContainerName,HCONTAINER *phContainer)
功能描述:获取容器句柄。
参        数:hApplication:[IN] 应用句柄。
                    szContainerName:[IN] 容器的名称。
                    phContainer:[OUT] 返回所打开容器的句柄。
返  回  值:SAR_OK:成功;其他:错误码。
4、关闭容器
函数原型:ULONG DEVAPI SKF_CloseContainer(HCONTAINER hContainer)
功能描述:关闭容器句柄,并释放容器句柄相关资源。
参        数:hContainer:[IN] 容器句柄。
返  回  值:SAR_OK:成功;其他:错误码。
5、枚举容器
函数原型:ULONG DEVAPI SKF_EnumContainer (HAPPLICATION hApplication,LPSTR szContainerName,ULONG *pulSize)
功能描述:枚举应用下的所有容器并返回容器名称列表。
参        数:hApplication:[IN] 应用句柄。
                    szContainerName:[OUT] 指向容器名称列表缓冲区,如果此参数为NULL时,pulSize表示返回数据所需要缓冲区的长度,如果此参数不为NULL时,返回容器名称列表,每个容器名以单个‘\0’为结束,列表以双‘\0’结束。 
                    pulSize:[IN,OUT] 输入时表示szContainerName缓冲区的长度,输出时表示容器名称列表的长度。
返  回  值:SAR_OK:成功;其他:错误码。
6、获得容器类型
函数原型:ULONG DEVAPI SKF_GetContianerType(HCONTAINER hContainer, ULONG *pulContainerType)
功能描述:获取容器的类型
参        数:hContainer:[IN] 容器句柄。
                    pulContainerType:[OUT] 获得的容器类型。指针指向的值为0表示未定、尚未分配类型或者为空容器,为1表示为RSA容器,为2表示为ECC容器。
返  回  值:SAR_OK:成功;其他:错误码。
7、导入数字证书
函数原型:ULONG DEVAPI SKF_ImportCertificate(HCONTAINER hContainer, BOOL bSignFlag,  BYTE* pbCert, ULONG ulCertLen)
功能描述:向容器内导入数字证书。
参        数:hContainer:[IN] 容器句柄。
                    bSignFlag:[IN] TRUE表示签名证书,FALSE表示加密证书。
                    pbCert:[IN] 指向证书内容缓冲区。
                    ulCertLen:[IN] 证书长度。
返  回  值:SAR_OK:成功;其他:错误码。
8、导出数字证书
函数原型:ULONG DEVAPI SKF_ExportCertificate(HCONTAINER hContainer, BOOL bSignFlag,  BYTE* pbCert, ULONG *pulCertLen)
功能描述:从容器内导出数字证书。
参        数:hContainer:[IN] 容器句柄。
                    bSignFlag:[IN] TRUE表示签名证书,FALSE表示加密证书。
                    pbCert:[OUT] 指向证书内容缓冲区,如果此参数为NULL时,pulCertLen表示返回数据所需要缓冲区的长度,如果此参数不为NULL时,返回数字证书内容。
                    pulCertLen:[IN/OUT] 输入时表示pbCert缓冲区的长度,输出时表示证书内容的长度。
返  回  值:SAR_OK:成功。
其        他:错误码。
  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值