выдает ошибку в этом месте:
Код: Выделить всё
Module.getPKCS11Module().C_FindObjectsInit(session.getSessionHandle(), attributes,true);
Когда я перемещаюсь дальше, интерфейс PKCS11 имеет этот метод void C_FindObjectsInit(long var1, CK_ATTRIBUTE[] var3, boolean var4) выше.
Более того, параметр атрибутов построен, как показано ниже:
Код: Выделить всё
CK_ATTRIBUTE[] attributes = new CK_ATTRIBUTEKeyStoreContainerBase[2];
attributes[0] = new CK_ATTRIBUTE();
attributes[0].type = PKCS11Constants.CKA_CLASS;
attributes[0].pValue = new Long(PKCS11Constants.CKO_SECRET_KEY);
attributes[1] = new CK_ATTRIBUTE();
attributes[1].type = PKCS11Constants.CKA_ID;
attributes[1].pValue = id; //id is byteArray. For this param's value the error is causing
Кстати, я прочитал C_FindObjectsInit-JavaDoc и не смог правильно понять эту строку, поэтому я здесь:
pTemplate — значения атрибутов объекта, которые должны соответствовать, и количество
атрибутов в шаблоне поиска (параметр PKCS#11: CK_ATTRIBUTE_PTR
pTemplate, CK_ULONG ulCount)
[это может показаться странным вопросом, но я действительно ничего не понимаю и застрял на несколько дней]
Мобильная версия