Solaris 开发者安全性指南

扩展的 PKCS #11 函数

除了标准的 PKCS #11 函数以外,Solaris 加密框架还附带了两个便利函数:

扩展的 PKCS #11 函数: SUNW_C_GetMechSession()

SUNW_C_GetMechSession() 是一个便利函数,用于初始化 Solaris 加密框架。该函数随后会使用指定的机制启动会话。SUNW_C_GetMechSession() 使用以下语法:

SUNW_C_GetMechSession(CK_MECHANISM_TYPE mech, C\

K_SESSION_HANDLE_PTR hSession)

mech 参数用于指定要使用的机制。hSession 是指向会话位置的指针。

SUNW_C_GetMechSession() 在内部调用 C_Initialize() 以初始化 cryptoki 库。SUNW_C_GetMechSession() 接着会使用指定的机制调用 C_GetSlotList()C_GetMechanismInfo(),在可用插槽中搜索令牌。如果找到了机制,SUNW_C_GetMechSession() 会调用 C_OpenSession() 来打开会话。

SUNW_C_GetMechSession() 只需要调用一次。不过,多次调用 SUNW_C_GetMechSession() 也不会造成任何问题。

扩展的 PKCS #11 函数: SUNW_C_KeyToObject

SUNW_C_KeyToObject() 可用于创建私钥对象。调用程序必须指定要使用的机制以及原始密钥数据。SUNW_C_KeyToObject() 可在内部确定指定机制的密钥类型。通用密钥对象是通过 C_CreateObject() 创建的。SUNW_C_KeyToObject() 接着会调用 C_GetSessionInfo()C_GetMechanismInfo() 来获取插槽和机制。C_SetAttributeValue() 随后会根据机制的类型为密钥对象设置属性标志。