除了标准的 PKCS #11 函数以外,Oracle Solaris 加密框架还附带了两个便利函数:
SUNW_C_GetMechSession() 是一个便利函数,用于初始化 Oracle 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() 也不会造成任何问题。
SUNW_C_KeyToObject() 用于创建私钥对象。调用程序必须指定要使用的机制以及原始密钥数据。SUNW_C_KeyToObject() 可在内部确定指定机制的密钥类型。通用密钥对象是通过 C_CreateObject() 创建的。SUNW_C_KeyToObject() 接着会调用 C_GetSessionInfo() 和 C_GetMechanismInfo() 来获取插槽和机制。C_SetAttributeValue() 随后会根据机制的类型为密钥对象设置属性标志。