(2012-11-25 11:59:34 отредактировано radiksafin)

error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESEN

Добрый день! помогите пожалуйста.
Все мучения вызваны необходимостью подключить удаленный рабочий стол.
Во все тяжкие пустился после того как KVpnc отказался рутокен определять.

Устройство: РУТОКЕН 64K203Z

Вот не могу решить вот эту проблемы

root@debian:/home/radik/rlib# pkcs11-tool --module=librtpkcs11ecp.so -IO
Cryptoki version 2.20
Manufacturer     Aktiv Co.
Library          Rutoken ECP PKCS #11 library (ver 1.0)
error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESENT (0xe0)

Возможно проблема уже мильон раз решена и о решении знают все кругом, но я к сожалению не нашел ответа.
Вот что показывают остальные команды

root@debian:/home/radik/rlib# openvpn --show-pkcs11-ids /usr/lib/opensc-pkcs11.so
[opensc-pkcs11] pkcs15.c:799:sc_pkcs15_bind: returning with: Unsupported card
                                                                                                                                                                     
The following objects are available for use.
Each object shown below may be used as parameter to
--pkcs11-id option please remember to use single quote mark.
root@debian:/home/radik/MKB# openvpn --show-pkcs11-ids librtpkcs11ecp.so 

The following objects are available for use.
Each object shown below may be used as parameter to
--pkcs11-id option please remember to use single quote mark.
root@debian:/home/radik/rlib# opensc-tool --name
Using reader with a card: Rutoken S driver
Rutoken ECP card
root@debian:/home/radik/rlib# opensc-tool --serial
Using reader with a card: Rutoken S driver
XX XX XX XX .A.* # здесь на самом деле серийник показывает, я его маскировал (ну вдруг это секретная секретность :) )
root@debian:/home/radik/rlib# openct-tool list
  0 Rutoken S driver
root@debian:/home/radik/rlib# opensc-tool -list
opensc 0.11.13 [gcc  4.4.5]
Enabled features: zlib iconv openssl openct pcsc(/usr/lib/libpcsclite.so.1) nsplugin
Readers known about:
Nr.    Driver     Name
0      openct     Rutoken S driver
1      openct     OpenCT reader (detached)
2      pcsc       Aktiv Rutoken S 00 00
Using reader with a card: Rutoken S driver
[b]APDU too short (must be at least 4 bytes).[/b] # вот эта строка появилась недавно (возможно после того как поправил /etc/opensc/opensc.conf)
                                                                                      # вот этот параметр изменил: force_card_driver = rutoken_ecp;
root@debian:/home/radik/rlib# pkcs11-tool --module=librtpkcs11ecp.so -T
No slots.

Что у меня есть:
OS

root@debian:/home/radik/rlib# uname -a
Linux debian 2.6.32-5-686 #1 SMP Sun Sep 23 09:49:36 UTC 2012 i686 GNU/Linux

Soft

root@debian:/home/radik/rlib# dpkg -l | grep pcsc
ii  libpcsc-perl                         1.4.9-1                           Perl interface to the PC/SC smart card library
ii  libpcsclite1                         1.5.5-4                           Middleware to access a smart card using PC/SC (library)
ii  pcsc-tools                           1.4.16-1                          Some tools to use with smart cards and PC/SC
ii  pcscd                                1.5.5-4                           Middleware to access a smart card using PC/SC (daemon side)
root@debian:/home/radik/rlib# dpkg -l | grep opensc
ii  libopensc2                           0.11.13-1.1                       Smart card library with support for PKCS#15 compatible smart cards
ii  opensc                               0.11.13-1.1                       Smart card utilities with support for PKCS#15 compatible cards
root@debian:/home/radik/rlib# dpkg -l | grep openct
ii  libopenct1                           0.6.20-1.1                        middleware framework for smart card terminals (libraries)
ii  openct                               0.6.20-1.1                        middleware framework for smart card terminals
root@debian:/home/radik/rlib# dpkg -l | grep dot
ii  libdotconf1.0                        1.0.13-3                          Configuration file parser library - runtime files
ii  liblockfile1                         1.08-4                            NFS-safe locking library, includes dotlockfile program
ii  libxdot4                             2.26.3-5                          rich set of graph drawing tools - xdot library

Господа, надеюсь на Вашу помощь!

Re: error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESEN

Добрый день.

Вы пытаетесь использовать Рутокен S и библиотеку librtpkcs11ecp.so, а они несовместимы.

Для Рутокенов S необходимо использовать open-source библиотеку opensc-pkcs11.so

Вы подключаетесь к удалённому рабочему столу через rdesktop?
Сертификат на Рутокене записан в ОС Windows?

Re: error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESEN

Добрый день, спасибо за ответ.

Вы писали

Для Рутокенов S необходимо использовать open-source библиотеку opensc-pkcs11.so

Тогда почему вот эти команды возвращают ошибки

root@debian:/home/radik# openvpn --show-pkcs11-ids /usr/lib/opensc-pkcs11.so
[opensc-pkcs11] pkcs15.c:799:sc_pkcs15_bind: returning with: Unsupported card
                                                                                                                                            
The following objects are available for use.
Each object shown below may be used as parameter to
--pkcs11-id option please remember to use single quote mark.
root@debian:/home/radik# pkcs11-tool --module=/usr/lib/opensc-pkcs11.so -IO
[opensc-pkcs11] pkcs15.c:799:sc_pkcs15_bind: returning with: Unsupported card
Cryptoki version 2.20                                                                                                                       
Manufacturer     OpenSC (www.opensc-project.org)
Library          smart card PKCS#11 API (ver 0.0)
error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESENT (0xe0)

Aborting.

Вы писали

Вы подключаетесь к удалённому рабочему столу через rdesktop?

До этого пока не дошло, т.к. не удается настроить VPN подключение.

Вы писали

Сертификат на Рутокене записан в ОС Windows?

Да, записан на ОС Windows

Re: error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESEN

Добрый день.

Правильно ли я понимаю, что и vpn и удалённый рабочий стол Вы пытаетесь настроить с помощью одного и того же сертификата, хранящегося на Рутокене S и записанного через Windows?

Если это так, то скорее всего эта схема не сработает.

Windows и opensc используют разные схемы форматирования токенов, именно поэтому opensc-pkcs11 ругается "unsupported card" на Рутокен оформатированный под Windows.

Вы можете отформатировать Рутокен S для opensc как указано здесь: http://www.opensc-project.org/opensc/wiki/AktivRutokenS
Тогда, заново записав сертификат и ключи на Рутокен, вы сможете заставить openvpn обращаться к ним через библиотеку opensc-pkcs11 и установить соединение.
Однако, в таком случае удалённый рабочий стол через rdesktop не заработает, так как ему требуется Windows-форматирование токена.

Решением может быть использование двух Рутокенов S, одного для vpn, другого для rdesktop.

Re: error: PKCS11 function C_OpenSession failed: rv = CKR_TOKEN_NOT_PRESEN

Вы писали

Правильно ли я понимаю, что и vpn и удалённый рабочий стол Вы пытаетесь настроить с помощью одного и того же сертификата, хранящегося на Рутокене S и записанного через Windows?

Да, все так и есть.

Да ужжж.... вот это новость.

Придется идти на поклон к админам, за двумя токена, хотя .... это маловероятно, что они согласятся.

Ну спасибо, что указали на корень проблемы.