Re: Поддержка Рутокен ЭЦП в OpenSSL

HaUsE пишет:

Здравствуйте!
Подскажите пожалуйста
Сервер мне возвращает Криптоконтейнер
----BEGIN PKCS7-----
MIAGCSqGSIb3DQEHAqCAMIACAQExCzAJBgUrDgMCGgUAMIAGCSqGSIb3DQEHAaCA
...
-----END PKCS7-----
как из него получить данные???

Подпись по ГОСТ или иному алгоритму?
Уточните какую информацию вы хотите получить из PKCS#7? Сертификат подписанта, присоединенные данные?

Re: Поддержка Рутокен ЭЦП в OpenSSL

Данные передаются посредством вызова по протоколу HTTP/1.1, методом POST. Параметры сообщения (данные платежа) представляются в виде XML-документа, вложенного в криптоконтейнер PKCS#7. MIME-тип: application/pkcs7-mime. Данные подписываются SSL-сертификатом оператора системы.

Сформированный документ помещается в криптоконтейнер формата PKCS#7 согласно стандарту http://www.ietf.org/rfc/rfc5652.txt. Криптоконтейнер содержит АСП (цифровую подпись, аналог собтвенноручной подписи). Криптоконтейнер содержит конечный сертификат оператора системы. Криптоконтейнер не содержит цепочки центров сертификации. Компрессия данных не используется. Шифрование не используется. Криптопакет закодирован в формате PEM (OpenSSL). Сертификат, используемый при изготовлении криптопакета, соответствует стандарту X.509 Version 3 (http://www.ietf.org/rfc/rfc2459.txt).

Re: Поддержка Рутокен ЭЦП в OpenSSL

Получить информацию из PKCS#7 вы можете с помощью утилиты OpenSSL. Для получения подробной информации обратитесь к инструкции к утилите.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Мне необходимо подключить rutoken в Fedora 14 (32bit).
На первом шаге пробую подключить rutoken в Fedora 17 (32bit). В этом дистрибутиве "свежие" версии пакетов.
Скачал 32 битные библиотеки приведенные в начале темы. Положил их в необходиые каталоги и обновил конфиг файл openssl.
Теперь хочу выполнить генерацию закрытого ключа и получаю следующий рельтат:

[tmis@localhost ~]$ openssl genpkey -engine pkcs11_gost -algorithm GOST2001 -pkeyopt slot_key_id:50 -pkeyopt paramset:A -pkeyopt pin:12345678
Error configuring OpenSSL
3077831212:error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:186:filename(/usr/lib/openssl/engines/libpkcs11_gost.so): /lib/libp11.so.2: symbol EC_POINT_free, version OPENSSL_1.0.0 not defined in file libcrypto.so.1.0.0 with link time reference
3077831212:error:25070067:DSO support routines:DSO_load:could not load the shared library:dso_lib.c:244:
3077831212:error:260B6084:engine routines:DYNAMIC_LOAD:dso not found:eng_dyn.c:450:
3077831212:error:260BC066:engine routines:INT_ENGINE_CONFIGURE:engine configuration error:eng_cnf.c:204:section=pkcs11_section, name=dynamic_path, value=/usr/lib/openssl/engines/libpkcs11_gost.so
3077831212:error:0E07606D:configuration file routines:MODULE_RUN:module initialization error:conf_mod.c:235:module=engines, value=engine_section, retcode=-1      
[tmis@localhost ~]$

При этом как я понимаю в библиотеке "libcrypto.so.1.0.0" действительно не определен символ EC_POINT_free.

[tmis@localhost ~]$ readelf -s /usr/lib/libcrypto.so.1.0.0 | grep POINT_free
  1493: 43a88880    44 FUNC    GLOBAL DEFAULT   11 DIST_POINT_free
  1771: 43a89530    44 FUNC    GLOBAL DEFAULT   11 ISSUING_DIST_POINT_free
[tmis@localhost ~]$

При этом зависимости определенные в библиотеке "libpkcs11_gost.so" резолвятся следующим образом:

[tmis@localhost ~]$ ldd /usr/lib/openssl/engines/libpkcs11_gost.so
/usr/lib/openssl/engines/libpkcs11_gost.so: /lib/libcrypto.so.1.0.0: no version information available (required by /usr/lib/openssl/engines/libpkcs11_gost.so)
/usr/lib/openssl/engines/libpkcs11_gost.so: /lib/libcrypto.so.1.0.0: no version information available (required by /lib/libp11.so.2)
    linux-gate.so.1 =>  (0xb77b4000)
    libcrypto.so.1.0.0 => /lib/libcrypto.so.1.0.0 (0xb7608000)
    libp11.so.2 => /lib/libp11.so.2 (0xb75fb000)
    libc.so.6 => /lib/libc.so.6 (0xb744d000)
    libdl.so.2 => /lib/libdl.so.2 (0xb7448000)
    libz.so.1 => /lib/libz.so.1 (0xb7431000)
    libltdl.so.7 => /lib/libltdl.so.7 (0xb7427000)
    /lib/ld-linux.so.2 (0x42329000)
[tmis@localhost ~]$

На основании этой информации я сделал вывод что библиотеки скомпилированные для Ubuntu 11.10 (32 bit) бинарно не совместимы с библиотеками для Fedora 17 (32 bit).

Прошу Вас сообщить есть ли возможность сделать доступными изменения внесеные в исходные коды библиотек openssl и PKCS#11.

(2012-09-11 20:14:02 отредактировано GOzzy)

Re: Поддержка Рутокен ЭЦП в OpenSSL

Здравствуйте. Скажите, а есть ли возможность шифрования и расшифровки данных по ГОСТ 28147 на борту Рутокен ЭЦП с помощью неизвлекаемых ключей?

Re: Поддержка Рутокен ЭЦП в OpenSSL

GOzzy пишет:

Здравствуйте. Скажите, а есть ли возможность шифрования и расшифровки данных по ГОСТ 28147 на борту Рутокен ЭЦП с помощью неизвлекаемых ключей?


Да, возможность имеется.

Библиотека rtpkcs11ecp поддерживает механизмы GOST_28147 согласно стандарта PKCS#11 v2.30

Re: Поддержка Рутокен ЭЦП в OpenSSL

Ответ от нашего разработчика, который разбирался в проблеме:
Тут речь идет об архитектуре x86_64, но думаю что для x86 будет похоже.

Из-за экспортных ограничений USA в дистрибутивах fedora, rhel, centos, и т.д. используется openssl без поддержки эллиптических кривых.

Идея, как это исправить, взята тут: https://bitcointalk.org/index.php?topic … #msg946289

yum install mock
yumdownloader --source openssl

Далее предполагается, что структура каталогов для сборки пакетов уже настроена.

rpm -ivh openssl-1.0.0j-1.fc17.src.rpm

правим SPECS/openssl.spec:

Заменяем SOURCE0 на скачанный из

http://www.openssl.org/source/openssl-1.0.0j.tar.gz 

Включаем сборку с EC.
После "./Configure" примерно на третей строке увидите:

enable-cms enable-md2 no-idea no-mdc2 no-rc5 no-ec no-ecdh no-ecdsa \

меняем так, чтобы получилось:

enable-cms enable-md2 no-idea no-mdc2 no-rc5 enable-ec enable-ecdh enable-ecdsa \

Отключаем

Source1: hobble-openssl

(line 29) чтобы стало так:

#Source1: hobble-openssl

закомментируем еще одну строчку

%{SOURCE1} > /dev/null

получилось так:

#%{SOURCE1} > /dev/null

Увеличим номер релиза "Release:"

"Release:" 

меняем

Release: 1%{?dist}

должно получиться так:

Release: 2%{?dist}

(готовый openssl.spec)

rpmbuild -bs ~/redhat/SPECS/openssl.spec

mock -r fedora-17-x86_64 ~/redhat/SRPMS/openssl-1.0.0j-2.fc17.R.src.rpm

устанавливаем, результат.

rpm -Uvh ~/redhat/RPMS/x86_64/openssl-1.0.0j-2.fc17.R.x86_64.rpm
yum install pcsc-lite-ccid pcsc-tools.x86_64
service pcscd restart

(2012-09-19 09:53:20 отредактировано GOzzy)

Re: Поддержка Рутокен ЭЦП в OpenSSL

Алексей Несененко пишет:
GOzzy пишет:

Здравствуйте. Скажите, а есть ли возможность шифрования и расшифровки данных по ГОСТ 28147 на борту Рутокен ЭЦП с помощью неизвлекаемых ключей?

Да, возможность имеется.

Библиотека rtpkcs11ecp поддерживает механизмы GOST_28147 согласно стандарта PKCS#11 v2.30

Я правильно понимаю, для этого, как и в случае ЭЦП, ключ должен быть сгенерирован в закрытой области памяти, т.е. "внешний" ключ для аппаратного шифрования использовать нельзя? Или же, как в примере с записью сертификата, можно самому сформировать ключ и записать его в закрытую область без возможности экспорта? Если можно, то какую команду следует передать движку (ENGINE_CMD_BASE + что-то)?

Re: Поддержка Рутокен ЭЦП в OpenSSL

GOzzy пишет:
Алексей Несененко пишет:
GOzzy пишет:

Здравствуйте. Скажите, а есть ли возможность шифрования и расшифровки данных по ГОСТ 28147 на борту Рутокен ЭЦП с помощью неизвлекаемых ключей?

Да, возможность имеется.

Библиотека rtpkcs11ecp поддерживает механизмы GOST_28147 согласно стандарта PKCS#11 v2.30

Я правильно понимаю, для этого, как и в случае ЭЦП, ключ должен быть сгенерирован в закрытой области памяти, т.е. "внешний" ключ для аппаратного шифрования использовать нельзя? Или же, как в примере с записью сертификата, можно самому сформировать ключ и записать его в закрытую область без возможности экспорта? Если можно, то какую команду следует передать движку (ENGINE_CMD_BASE + что-то)?


Рутокен ЭЦП поддерживает импорт ключей шифрования, т.е. ключи можно изготавливать как на самом устройстве, так и записывать на него уже готовые ключи.

Re: Поддержка Рутокен ЭЦП в OpenSSL

А примеров кода с использованием аппаратного шифрования у вас нет? Ну или примерное направление - тема для меня новая, а "классический подход" с использованием ENGINE_get_cipher, EVP_CipherInit и т.п., тут, похоже, не помощник.
Заранее спасибо.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Вы пишете в тему "Поддержка Рутокен ЭЦП в OpenSSL"
Вас интересует именно связка в работе OpenSSL c Рутокен или Вам нужно просто каким-то способом работать с Рутокеном?

Re: Поддержка Рутокен ЭЦП в OpenSSL

Простая работа с Рутокеном с помощью OpenSC проблем не вызывает.

Скажем так: поскольку в заглавном сообещении темы одной из целей была заявлена поддержка базовых криптоопераций в OpenSSL (в частности шифрование посредством ГОСТ 28147-89), то стало интересно, можно ли зашифровать данные на борту токена с помощью OpenSSL. Пример программы для подписи данных есть, вроде все ясно, а вот с шифрованием несколько непонятно.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Зашифровать можно в формате PKCS#7, CMS, S/MIME. Так называемое шифрование для адресата (как работает в почтовых клиентах). При этом само шифрование будет делаться программно, а keyexchange (выработка ключа согласования) - аппаратно.

Re: Поддержка Рутокен ЭЦП в OpenSSL

Кирилл Мещеряков пишет:

Ответ от нашего разработчика, который разбирался в проблеме:
Тут речь идет об архитектуре x86_64, но думаю что для x86 будет похоже.

Из-за экспортных ограничений USA в дистрибутивах fedora, rhel, centos, и т.д. используется openssl без поддержки эллиптических кривых.
....

Поставил я правильный OpenSSL теперь имею сложность с созданием сертификата.

[root@fedora tls]# pkcs15-init --erase-card -p rutoken
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk "" --so-pin "87654321" --finalize
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# openssl genpkey -engine pkcs11_gost -algorithm GOST2001 -pkeyopt slot_key_id:50 -pkeyopt paramset:A -pkeyopt pin:12345678
engine "pkcs11_gost" set.
Error writing key
3075861036:error:0D0A30A7:asn1 encoding routines:i2d_PrivateKey:unsupported public key type:i2d_pr.c:77:
3075861036:error:0906900D:PEM routines:PEM_ASN1_write_bio:ASN1 lib:pem_lib.c:357:
[root@fedora tls]# openssl req -engine pkcs11_gost -new -key 50 -keyform engine -out req.csr -subj "/C=RU/ST=Moscow/L=Moscow/O=foo_bar/OU=foo_bar/CN=developer/emailAddress=vany.egorov@gmail.com"
engine "pkcs11_gost" set.
PKCS#11 token PIN: 
3076336172:error:0D0C30C6:asn1 encoding routines:ASN1_item_sign:digest and key type not supported:a_sign.c:245:

При этом я также имею сложность с созданием RSA ключей

[root@fedora tls]# pkcs15-init --erase-card -p rutoken
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk ""
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk "" --so-pin "87654321" --finalize
Using reader with a card: Aktiv Rutoken ECP 00 00
[root@fedora tls]# openssl engine  pkcs11_gost  -t -c -vvvv
(pkcs11_gost) pkcs11 gost engine
 [RSA, DSA, DH, RAND, gost89, gost89-cnt, md_gost94, gost-mac, gost2001, gost-mac]
     [ available ]
     SO_PATH: Specifies the path to the 'pkcs11-engine' shared library
          (input flags): STRING
     MODULE_PATH: Specifies the path to the pkcs11 module shared library
          (input flags): STRING
     PIN: Specifies the pin code
          (input flags): STRING
     VERBOSE: Print additional details
          (input flags): NO_INPUT
     QUIET: Remove additional details
          (input flags): NO_INPUT
     LOAD_CERT_CTRL: Get the certificate from card
          (input flags): [Internal] 
     SAVE_CERT_CTRL: Save the certificate to card
          (input flags): [Internal] 
     GOST_PATH: Specifies the path to engine GOST
          (input flags): STRING
[root@fedora tls]# openssl genpkey -engine pkcs11_gost -algorithm RSA -pkeyopt slot_key_id:50 -pkeyopt paramset:A -pkeyopt pin:12345678
engine "pkcs11_gost" set.
Error initializing RSA context
3076364844:error:260C0065:engine routines:ENGINE_get_pkey_meth:unimplemented public key method:tb_pkmeth.c:127:
3076364844:error:0609D09C:digital envelope routines:INT_CTX_NEW:unsupported algorithm:pmeth_lib.c:163:
Ошибка сегментирования (core dumped)

Re: Поддержка Рутокен ЭЦП в OpenSSL

Решил попробовать выполнить операции под Ubuntu 11.10 и имею следующие:

root@tmis-pc:/etc/opensc# pkcs15-init --erase-card -p rutoken
Using reader with a card: Aktiv Rutoken ECP 00 00
Couldn't bind to the card: File not found

Вывод при включенном debug-е.

root@tmis-pc:/etc/opensc# pkcs15-init --erase-card -p rutoken
0xb76fb6c0 20:23:44.661 [pkcs15-init] ctx.c:659:sc_context_create: ===================================
0xb76fb6c0 20:23:44.662 [pkcs15-init] ctx.c:660:sc_context_create: opensc version: 0.12.1
0xb76fb6c0 20:23:44.662 [pkcs15-init] reader-pcsc.c:653:pcsc_init: PC/SC options: connect_exclusive=0 disconnect_action=1 transaction_end_action=0 reconnect_action=0 enable_pinpad=1
0xb76fb6c0 20:23:44.663 [pkcs15-init] reader-pcsc.c:864:pcsc_detect_readers: called
0xb76fb6c0 20:23:44.663 [pkcs15-init] reader-pcsc.c:872:pcsc_detect_readers: Probing pcsc readers
0xb76fb6c0 20:23:44.663 [pkcs15-init] reader-pcsc.c:894:pcsc_detect_readers: Establish pcsc context
0xb76fb6c0 20:23:44.664 [pkcs15-init] reader-pcsc.c:942:pcsc_detect_readers: Found new pcsc reader 'Aktiv Rutoken ECP 00 00'
0xb76fb6c0 20:23:44.665 [pkcs15-init] reader-pcsc.c:275:refresh_attributes: Aktiv Rutoken ECP 00 00 check
0xb76fb6c0 20:23:44.665 [pkcs15-init] reader-pcsc.c:298:refresh_attributes: current  state: 0x00000022
0xb76fb6c0 20:23:44.665 [pkcs15-init] reader-pcsc.c:299:refresh_attributes: previous state: 0x00000000
0xb76fb6c0 20:23:44.666 [pkcs15-init] reader-pcsc.c:353:refresh_attributes: card present, changed
0xb76fb6c0 20:23:44.666 [pkcs15-init] reader-pcsc.c:973:pcsc_detect_readers: Requesting reader features ... 
0xb76fb6c0 20:23:44.684 [pkcs15-init] reader-pcsc.c:987:pcsc_detect_readers: Aktiv Rutoken ECP 00 00:SCardConnect(SHARED): 0x00000000
0xb76fb6c0 20:23:44.685 [pkcs15-init] reader-pcsc.c:756:detect_reader_features: called
0xb76fb6c0 20:23:44.685 [pkcs15-init] reader-pcsc.c:777:detect_reader_features: Reader feature 0a found
0xb76fb6c0 20:23:44.685 [pkcs15-init] reader-pcsc.c:777:detect_reader_features: Reader feature 12 found
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:793:detect_reader_features: Reader feature 12 is not supported
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:847:detect_reader_features: Reader does not have a display.
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:1017:pcsc_detect_readers: returning with: 0 (Success)
0xb76fb6c0 20:23:44.686 [pkcs15-init] sc.c:185:sc_detect_card_presence: called
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:361:pcsc_detect_card_presence: called
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:275:refresh_attributes: Aktiv Rutoken ECP 00 00 check
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:298:refresh_attributes: current  state: 0x00000020
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:299:refresh_attributes: previous state: 0x00000022
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:353:refresh_attributes: card present
0xb76fb6c0 20:23:44.686 [pkcs15-init] reader-pcsc.c:366:pcsc_detect_card_presence: returning with: 1
0xb76fb6c0 20:23:44.686 [pkcs15-init] sc.c:190:sc_detect_card_presence: returning with: 1
Using reader with a card: Aktiv Rutoken ECP 00 00
.....
0xb76fb6c0 20:23:44.702 [pkcs15-init] card-rutoken.c:107:rutoken_match_card: returning with: 0 (Success)
0xb76fb6c0 20:23:44.702 [pkcs15-init] card.c:180:sc_connect_card: trying driver: rutoken_ecp
0xb76fb6c0 20:23:44.702 [pkcs15-init] card.c:829:match_atr_table: ATR     : 3b:8b:01:52:75:74:6f:6b:65:6e:20:44:53:20:c1
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:840:match_atr_table: ATR try : 3B:8B:01:52:75:74:6F:6B:65:6E:20:45:43:50:A0
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:840:match_atr_table: ATR try : 3B:8B:01:52:75:74:6F:6B:65:6E:20:44:53:20:C1
0xb76fb6c0 20:23:44.703 [pkcs15-init] card-rtecp.c:58:rtecp_match_card: returning with: 1
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:187:sc_connect_card: matched: Rutoken ECP driver
0xb76fb6c0 20:23:44.703 [pkcs15-init] card-rtecp.c:91:rtecp_init: returning with: 0 (Success)
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:224:sc_connect_card: card info name:'Rutoken ECP (DS)', type:0, flags:0x0, max_send/recv_size:0/0
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:225:sc_connect_card: returning with: 0 (Success)
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:292:sc_lock: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] reader-pcsc.c:507:pcsc_lock: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] pkcs15-lib.c:296:sc_pkcs15init_bind: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:720:sc_card_ctl: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] card-rtecp.c:612:rtecp_card_ctl: SC_CARDCTL_LIFECYCLE_SET not supported
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:727:sc_card_ctl: card_ctl(4) not supported
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:571:sc_select_file: called; type=2, path=3f0050154946
0xb76fb6c0 20:23:44.703 [pkcs15-init] apdu.c:524:sc_transmit_apdu: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] card.c:292:sc_lock: called
0xb76fb6c0 20:23:44.703 [pkcs15-init] reader-pcsc.c:241:pcsc_transmit: reader 'Aktiv Rutoken ECP 00 00'
0xb76fb6c0 20:23:44.703 [pkcs15-init] apdu.c:184:sc_apdu_log: 
Outgoing APDU data [   10 bytes] =====================================
00 A4 08 00 04 50 15 49 46 00 .....P.IF.
======================================================================
0xb76fb6c0 20:23:44.703 [pkcs15-init] reader-pcsc.c:174:pcsc_internal_transmit: called
0xb76fb6c0 20:23:44.713 [pkcs15-init] apdu.c:184:sc_apdu_log: 
Incoming APDU data [    2 bytes] =====================================
6A 82 j.
======================================================================
0xb76fb6c0 20:23:44.713 [pkcs15-init] card.c:330:sc_unlock: called
0xb76fb6c0 20:23:44.713 [pkcs15-init] iso7816.c:103:iso7816_check_sw: File not found
0xb76fb6c0 20:23:44.713 [pkcs15-init] iso7816.c:484:iso7816_select_file: returning with: -1201 (File not found)
0xb76fb6c0 20:23:44.713 [pkcs15-init] card-rtecp.c:268:rtecp_select_file: returning with: -1201 (File not found)
0xb76fb6c0 20:23:44.713 [pkcs15-init] card.c:597:sc_select_file: returning with: -1201 (File not found)
0xb76fb6c0 20:23:44.713 [pkcs15-init] profile.c:327:sc_profile_load: called
0xb76fb6c0 20:23:44.713 [pkcs15-init] profile.c:357:sc_profile_load: Using profile directory '/usr/share/opensc'.
0xb76fb6c0 20:23:44.713 [pkcs15-init] profile.c:365:sc_profile_load: Trying profile file /usr/share/opensc/rutoken.profile
0xb76fb6c0 20:23:44.713 [pkcs15-init] profile.c:370:sc_profile_load: profile /usr/share/opensc/rutoken.profile loaded ok
0xb76fb6c0 20:23:44.713 [pkcs15-init] profile.c:373:sc_profile_load: returning with: -1201 (File not found)
0xb76fb6c0 20:23:44.713 [pkcs15-init] pkcs15-lib.c:357:sc_pkcs15init_bind: Failed to load profile 'rutoken': File not found
0xb76fb6c0 20:23:44.713 [pkcs15-init] pkcs15-lib.c:374:sc_pkcs15init_bind: Load profile error: -1201 (File not found)
Couldn't bind to the card: File not found

Вопрос как подключить профиль  rutoken в Ubuntu 11.10 или как инициализировать токен?