概述
本规范提供的应用管理用于满足各种不同应用的管理,包括创建、删除、枚举、打开和关闭容器的操作。容器管理系列函数如下表所示:
表:容器管理系列函数
函数名称 |
功能 |
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:成功。
其 他:错误码。