是否可以使用C_SetAttributeValue更改令牌标签?我使用以下功能尝试使用哪种模板来更改令牌名称,但出现了错误iaik.pkcs.pkcs11.wrapper.PKCS11Exception:CKR_TEMPLATE_INCOMPLETE
token = getToken();
CK_ATTRIBUTE[] attrs = new CK_ATTRIBUTE[2];
attrs[0] = new CK_ATTRIBUTE();
attrs[0].type = PKCS11Constants.CKA_LABEL;
attrs[0].pValue = label.toCharArray();
attrs[1] = new CK_ATTRIBUTE();
attrs[1].type = PKCS11Constants.CKA_ID;
attrs[1].pValue = label.toCharArray();
token.getSlot().getModule().getPKCS11Module().C_SetAttributeValue(session.getSessionHandle(), token.getSlot().getSlotID(), attrs, true);
您好!StackOverflow!
看看C_SetAttributeValue定义:
CK_DEFINE_FUNCTION(CK_RV, C_SetAttributeValue)(
CK_SESSION_HANDLE hSession,
CK_OBJECT_HANDLE hObject,
CK_ATTRIBUTE_PTR pTemplate,
CK_ULONG ulCount
);
第二个参数是对象ID,而不是插槽ID。
请参阅您图书馆的制造商文档,以获取允许设置令牌标签的PKCS#11扩展名。