国密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:成功。
其        他:错误码。

你可能感兴趣的:(国密标准)