проблема rutoken ecp + librtpkcs11ecp-x86
Добрый день!
Имеется Fedora 17 32бит.
openct-0.6.20-3.fc17.i686
pcsc-lite-openct-0.6.20-3.fc17.i686
библиотека librtpkcs11ecp-x86.
JDK 1.6u35
Использую стандартный wrapper java для pkcs11. Хочу получить список токенов в системе:
PKCS11 pkcs11 = PKCS11.getInstance(libary, "C_GetFunctionList", null, false);
long[] longs = pkcs11.C_GetSlotList(true);
for(long id : longs){
CK_SLOT_INFO ck_slot_info = pkcs11.C_GetSlotInfo(id);
System.out.println(ck_slot_info);
CK_TOKEN_INFO ck_token_info = pkcs11.C_GetTokenInfo(id);
System.out.println(ck_token_info);
long[] longs1 = pkcs11.C_GetMechanismList(id);
for(long mid:longs1){
System.out.println(mid);
}
}
При использовании library=/usr/lib/librtpkcs11ecp.so происходит следующая ошибка:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x79ed9015, pid=5889, tid=2068007744
#
# JRE version: 6.0_35-b10
# Java VM: Java HotSpot(TM) Server VM (20.10-b01 mixed mode linux-x86 )
# Problematic frame:
# C [librtpkcs11ecp.so+0x93015] CCashPin::use(Slot*, int, int, int)+0x35
#
# An error report file with more information is saved as:
# /ome/edor/estgai/s_err_pid5889.log
#
# If you would like to submit a bug report, please visit:
# http:/java.sun.com/ebapps/ugreport/rash.jsp
Если использую library=/usr/lib/opensc-pkcs11.so то ошибки нет, и токен появляется в списке но список механизмов пуст и информация о сирийном номере устройства не доступна. хотя если запустить утилиту то сирийник есть:
[fedor@fedorTest ~]$ opensc-tool --serial
Using reader with a card: Generic CCID Reader 00 00
00 00 00 00 2B 35 74 89 ....+5t.
При использовании библиотеки librtpkcs11ecp.so токен не виден
[fedor@fedorTest ~]$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -I
Cryptoki version 2.20
Manufacturer Aktiv Co.
Library Rutoken ECP PKCS #11 library (ver 1.0)
No slot with a token was found.
используем библиотеку opensc все в норме:
[fedor@fedorTest ~]$ pkcs11-tool --module /usr/lib/opensc-pkcs11.so -I
Cryptoki version 2.20
Manufacturer OpenSC (www.opensc-project.org)
Library Smart card PKCS#11 API (ver 0.0)
Using slot 1 with a present token (0x1)
Можно было бы использовать opensc-pkcs11.so, но она не полноценная или не настроена. Подскажите в чем может быть причина не работы librtpkcs11ecp.so. Или подскажите как настроить opensc-pkcs11.so, что бы модно было полноценно ее использовать в java для идентификации устройства а так же иметь доступ к KeyStore для чтения и записи. спасибо.