<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Установка драйвера ifd-rutokens в docker]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/3077/" />
	<updated>2025-01-21T13:43:40Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/3077/</id>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26949/#p26949" />
			<content type="html"><![CDATA[<p>Как оказалось, на Хабре есть статья с опытом, похожим на ваш: <a href="https://habr.com/ru/articles/706474/">https://habr.com/ru/articles/706474/</a></p>]]></content>
			<author>
				<name><![CDATA[Евгений Мироненко]]></name>
				<uri>https://forum.rutoken.ru/user/8673/</uri>
			</author>
			<updated>2025-01-21T13:43:40Z</updated>
			<id>https://forum.rutoken.ru/post/26949/#p26949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26948/#p26948" />
			<content type="html"><![CDATA[<p>заработало!<br />похоже чёт глюкнуло - ребутнул и всё заново так же запустил</p><div class="codebox"><pre><code>root@7ce3530aa0c2:~# pcsc_scan
Using reader plug&#039;n play mechanism
Scanning present readers...
0: Aktiv Co. Rutoken S 00 00</code></pre></div><p>Спасибо огромное!<br />Пошел дальше смотреть, что там КриптоПро - увидит ли хранилище ...</p>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-21T13:23:55Z</updated>
			<id>https://forum.rutoken.ru/post/26948/#p26948</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26944/#p26944" />
			<content type="html"><![CDATA[<p><strong>Алексей Вдовин</strong>, на всякий случай продемонстрирую, что у меня такая же нога, но не болит.&nbsp; Возможно, вы найдете расхождения со своим экспериментом.</p><p>На хосте установлены pcscd, libpcsclite1, pcsc-tools.</p><div class="codebox"><pre><code>mironenko@mironenko-ubuntu2204:~/forum$ uname -a
Linux mironenko-ubuntu2204 6.8.0-40-generic #40~22.04.3-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 30 17:30:19 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

mironenko@mironenko-ubuntu2204:~/forum$ docker --version
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

mironenko@mironenko-ubuntu2204:~/forum$ pcsc_scan
Using reader plug&#039;n play mechanism
Scanning present readers...
0: ACS ACR 38U-CCID 00 00
 
Tue Jan 21 14:53:13 2025
 Reader 0: ACS ACR 38U-CCID 00 00
  Event number: 0
  Card state: Card inserted, 
  ATR: 3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0

ATR: 3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0
+ TS = 3B --&gt; Direct Convention
+ T0 = 9C, Y(1): 1001, K: 12 (historical bytes)
  TA(1) = 97 --&gt; Fi=512, Di=64, 8 cycles/ETU
    500000 bits/s at 4 MHz, fMax for Fi = 5 MHz =&gt; 625000 bits/s
  TD(1) = 80 --&gt; Y(i+1) = 1000, Protocol T = 0 
-----
  TD(2) = 11 --&gt; Y(i+1) = 0001, Protocol T = 1 
-----
  TA(3) = 40 --&gt; IFSC: 64
+ Historical bytes: 52 75 74 6F 6B 65 6E 45 43 50 73 63
  Category indicator byte: 52 (proprietary format)
+ TCK = C0 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0
    Aktiv Rutoken ECP 3.0 NFC (PKI)
    https://www.rutoken.ru/products/all/rutoken-ecp-nfc/</code></pre></div><p>Dockerfile:<br /></p><div class="codebox"><pre><code>ironenko@mironenko-ubuntu2204:~/forum$ cat Dockerfile 

FROM eclipse-temurin:21.0.2_13-jdk-jammy 
RUN apt-get update
RUN apt-get install -y wget libpcsclite1 pcsc-tools opensc

RUN apt-get -y install sudo adduser

RUN useradd -m user0 &amp;&amp; echo &quot;user0:Eklmn1516&quot; | chpasswd &amp;&amp; adduser user0 sudo

USER user0

WORKDIR /</code></pre></div><p>Собираю, запускаю контейнер, подключаюсь к нему:<br /></p><div class="codebox"><pre><code>sudo docker build . --tag test-forum
sudo docker run -d  -t -v /var/run/pcscd:/var/run/pcscd --name test-forum test-forum 
sudo docker exec -it test-forum &#039;/bin/bash&#039;</code></pre></div><p>pcsc_scan&nbsp; внутри контейнера:<br /></p><div class="codebox"><pre><code>user0@6827d749a44e:/$ pcsc_scan
Using reader plug&#039;n play mechanism
Scanning present readers...
0: ACS ACR 38U-CCID 00 00
 
Tue Jan 21 11:56:48 2025
 Reader 0: ACS ACR 38U-CCID 00 00
  Event number: 0
  Card state: Card inserted, 
  ATR: 3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0

ATR: 3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0
+ TS = 3B --&gt; Direct Convention
+ T0 = 9C, Y(1): 1001, K: 12 (historical bytes)
  TA(1) = 97 --&gt; Fi=512, Di=64, 8 cycles/ETU
    500000 bits/s at 4 MHz, fMax for Fi = 5 MHz =&gt; 625000 bits/s
  TD(1) = 80 --&gt; Y(i+1) = 1000, Protocol T = 0 
-----
  TD(2) = 11 --&gt; Y(i+1) = 0001, Protocol T = 1 
-----
  TA(3) = 40 --&gt; IFSC: 64
+ Historical bytes: 52 75 74 6F 6B 65 6E 45 43 50 73 63
  Category indicator byte: 52 (proprietary format)
+ TCK = C0 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 9C 97 80 11 40 52 75 74 6F 6B 65 6E 45 43 50 73 63 C0
    Aktiv Rutoken ECP 3.0 NFC (PKI)
    https://www.rutoken.ru/products/all/rutoken-ecp-nfc/</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Евгений Мироненко]]></name>
				<uri>https://forum.rutoken.ru/user/8673/</uri>
			</author>
			<updated>2025-01-21T11:59:17Z</updated>
			<id>https://forum.rutoken.ru/post/26944/#p26944</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26942/#p26942" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Евгений Мироненко пишет:</cite><blockquote><p>Единственное, мы сталкивались с проблемой, что внутри docker-контейнера pcscd.comm (и, соответственно, доступ к смарт-картам) был доступен только из-под root (воспроизводилась проблема на ubuntu 24.04, не воспроизводилась на 22.04)</p></blockquote></div><p>у меня как раз внутри от рута работает сейчас - так что хотя бы так запустить</p><p>не очень правильно, но от КриптоПро я так и не дождался как победить этот момент (в контейнере JCP приложение крутится)</p><p>на данный момент приложение вообще RutokenStore не видит - пока вот раскопки привели к тому, что для начала pcsc_scan должен устройство видеть ...</p>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-21T11:23:27Z</updated>
			<id>https://forum.rutoken.ru/post/26942/#p26942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26940/#p26940" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Евгений Мироненко пишет:</cite><blockquote><p>Попробуйте без запуска pcscd запустить pcsc_scan.</p></blockquote></div><div class="codebox"><pre><code>root@9793032ff1d3:~# pcsc_scan
SCardEstablishContext: Service not available.</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-21T11:05:33Z</updated>
			<id>https://forum.rutoken.ru/post/26940/#p26940</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26936/#p26936" />
			<content type="html"><![CDATA[<p><strong>Алексей Вдовин</strong>, это ожидаемое поведение. pcscd внутри docker-контейнера запускать не надо. Попробуйте без запуска pcscd запустить pcsc_scan. <br />Единственное, мы сталкивались с проблемой, что внутри docker-контейнера pcscd.comm (и, соответственно, доступ к смарт-картам) был доступен только из-под root (воспроизводилась проблема на ubuntu 24.04, не воспроизводилась на 22.04).</p>]]></content>
			<author>
				<name><![CDATA[Евгений Мироненко]]></name>
				<uri>https://forum.rutoken.ru/user/8673/</uri>
			</author>
			<updated>2025-01-21T08:59:02Z</updated>
			<id>https://forum.rutoken.ru/post/26936/#p26936</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26932/#p26932" />
			<content type="html"><![CDATA[<p><strong>Евгений Мироненко</strong>, предложенный Вами вариант вполне устраивает - на уровне usb пробрасывать не критично.</p><p>Попробовал реализовать - не взлетает.</p><div class="quotebox"><blockquote><p>root@8054557cd79e:~# pcscd -afddddd<br />00000000 [136645612843520] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000014 [136645612843520] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000015 [136645612843520] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000015 [136645612843520] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000011 [136645612843520] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000047 [136645612843520] pcscdaemon.c:482:main() file /run/pcscd/pcscd.comm already exists.<br />00000034 [136645612843520] pcscdaemon.c:484:main() Another pcscd (pid: 24) seems to be running.</p></blockquote></div>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-21T02:18:48Z</updated>
			<id>https://forum.rutoken.ru/post/26932/#p26932</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26925/#p26925" />
			<content type="html"><![CDATA[<p><strong>gthack</strong>, добрый день!</p><p>Не уверен, что это вполне соответствует вашим ожиданиям, но рискну предложить. Насколько вам критично пробрасывать Рутокен S на уровне usb? Для взаимодействия с токеном, используя libpcsclite, достаточно пробросить в docker-образ сокет pcscd. Драйвер Рутокен S тогда придется установить на хост (не в образ).</p><p>Фактически, при этом установка пакетов в docker-образе сократится до такого:<br /></p><div class="codebox"><pre><code>RUN apt-get update &amp;&amp; apt-get install -y libpcsclite1 pcsc-tools dialog opensc debconf</code></pre></div><p>А при запуске необходимо указать подключение директории, содержащей сокет pcscd:<br /></p><div class="codebox"><pre><code>docker run -v /var/run/pcscd:/var/run/pcscd ...</code></pre></div><p>libpcsclite в запущенном docker-образе будет общаться с pcscd, запущенным на хосте через проброшенный сокет /var/run/pcscd/pcscd.comm.</p>]]></content>
			<author>
				<name><![CDATA[Евгений Мироненко]]></name>
				<uri>https://forum.rutoken.ru/user/8673/</uri>
			</author>
			<updated>2025-01-20T14:45:48Z</updated>
			<id>https://forum.rutoken.ru/post/26925/#p26925</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26923/#p26923" />
			<content type="html"><![CDATA[<p>для чистоты эксперимента запустил контейнер из образа, такой же командой как было написано выше</p><p>docker run -it --privileged --volume=/dev/bus/usb:/dev/bus/usb:ro --volume=/run/udev:/run/udev:ro -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --publish=8083:8081 --network=host --rm=true bitrix-common-signer</p><p>ничего не изменилось - всё так же pcsc_scan не видит рутокен</p>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-20T13:46:11Z</updated>
			<id>https://forum.rutoken.ru/post/26923/#p26923</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26918/#p26918" />
			<content type="html"><![CDATA[<p>Проблема один в один как у Алексея Черенцова.</p><p>за базу взял образ на базе Ubuntu c 21 jdk<br />eclipse-temurin:21.0.2_13-jdk-jammy </p><p>#uname -a <br />Linux alex-dev 6.8.0-51-generic #52-Ubuntu SMP PREEMPT_DYNAMIC Thu Dec&nbsp; 5 13:09:44 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux root@alex-dev:~#</p><p>запускаю с учетом вышенаписанных рекомендаций (dockec compose)<br />&nbsp; &nbsp; privileged: true<br />&nbsp; &nbsp; network_mode: host<br />&nbsp; &nbsp; volumes:<br />&nbsp; &nbsp; &nbsp; - &quot;/dev/bus/usb:/dev/bus/usb:ro&quot;<br />&nbsp; &nbsp; &nbsp; - &quot;/run/udev:/run/udev:ro&quot;</p><p>При сборке доустанавливаю следующие пакеты<br />RUN apt-get update &amp;&amp; apt-get install -y usbutils udev libusb-0.1-4 libccid pcscd libpcsclite1 pcsc-tools dialog opensc debconf</p><p>далее если в лоб ставить драйвера <br />RUN dpkg -i ifd-rutokens_1.0.4_amd64.deb<br />не ставятся и образ не собирается<br /></p><div class="quotebox"><blockquote><p>&gt; [signer stage-1&nbsp; 5/10] RUN dpkg -i ifd-rutokens_1.0.4_amd64.deb:<br />0.107 Selecting previously unselected package ifd-rutokens.<br />0.114 (Reading database ... 27718 files and directories currently installed.)<br />0.114 Preparing to unpack ifd-rutokens_1.0.4_amd64.deb ...<br />0.116 Unpacking ifd-rutokens (1.0.4) ...<br />0.134 Setting up ifd-rutokens (1.0.4) ...<br />0.142 Failed to send reload request: No such file or directory<br />0.142 dpkg: error processing package ifd-rutokens (--install):<br />0.142&nbsp; installed ifd-rutokens package post-installation script subprocess returned error exit status 1<br />0.146 Errors were encountered while processing:<br />0.146&nbsp; ifd-rutokens<br />------<br />failed to solve: process &quot;/bin/sh -c dpkg -i ifd-rutokens_1.0.4_amd64.deb&quot; did not complete successfully: exit code: 1</p></blockquote></div><p>поэтому поставил по совету oleg_jpeg<br /></p><div class="quotebox"><blockquote><p>RUN dpkg --unpack ifd-rutokens_1.0.4_amd64.deb<br />RUN rm /var/lib/dpkg/info/ifd-rutokens.postinst<br />RUN dpkg --configure ifd-rutokens</p></blockquote></div><p>потом в запущенном контейнере проверил <br />dpkg -l | grep ifd-rutokens<br />пакет установлен</p><p>далее в контейнере <br />/etc/init.d/pcscd start<br />pcsc_scan</p><p>даёт <br /></p><div class="quotebox"><blockquote><p>Using reader plug&#039;n play mechanism<br />Scanning present readers...<br />Waiting for the first reader... -</p></blockquote></div><p>смотрю в режиме отладки - так же ошибка</p><p>/etc/init.d/pcscd stop<br />pcscd -afddddd</p><div class="quotebox"><blockquote><p>00000000 [137341524619776] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000015 [137341524619776] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000005 [137341524619776] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000002 [137341524619776] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000005 [137341524619776] debuglog.c:299:DebugLogSetLevel() debug level=debug<br />00000179 [137341524619776] configfile.l:293:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d<br />00000020 [137341524619776] configfile.l:329:DBGetReaderListDir() Skipping non regular file: ..<br />00000004 [137341524619776] configfile.l:329:DBGetReaderListDir() Skipping non regular file: .<br />00000005 [137341524619776] configfile.l:369:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin<br />00000042 [137341524619776] pcscdaemon.c:663:main() pcsc-lite 1.9.5 daemon ready.<br />00004771 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001<br />00000140 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001<br />00000131 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x046D, PID: 0xC077, path: /dev/bus/usb/001/002<br />00000133 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001<br />00000153 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/008<br />00000010 [137341524619776] hotplug_libudev.c:441:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S<br />00000034 [137341524619776] readerfactory.c:1097:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so<br />00000298 [137341524619776] readerfactory.c:972:RFBindFunctions() Loading IFD Handler 3.0<br />00110985 [137341524619776] readerfactory.c:1138:RFInitializeReader() Open Port 0x200000 Failed (usb:0a89)<br />00000013 [137341524619776] readerfactory.c:380:RFAddReader() Aktiv Co. Rutoken S init failed.<br />00000006 [137341524619776] readerfactory.c:632:RFRemoveReader() UnrefReader() count was: 1<br />00000003 [137341524619776] readerfactory.c:1151:RFUnInitializeReader() Attempting shutdown of Aktiv Co. Rutoken S 00 00.<br />00000006 [137341524619776] readerfactory.c:1009:RFUnloadReader() Unloading reader driver.<br />00000083 [137341524619776] hotplug_libudev.c:538:HPAddDevice() Failed adding USB device: Aktiv Co. Rutoken S<br />00000163 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001<br />00000118 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x04F2, PID: 0x0116, path: /dev/bus/usb/001/003<br />00000094 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001<br />00000100 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x8086, PID: 0x0808, path: /dev/bus/usb/001/004<br />00000111 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x8086, PID: 0x0808, path: /dev/bus/usb/001/004<br />00000101 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x8086, PID: 0x0808, path: /dev/bus/usb/001/004<br />00000171 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0003, path: /dev/bus/usb/002/001<br />00000210 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/003/001<br />00000210 [137341524619776] hotplug_libudev.c:300:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0003, path: /dev/bus/usb/004/001</p></blockquote></div><br /><p>только одно НО - у Алексея в итоге с сетью host запустилось - у меня никак :(</p><p>ещё - момент с сетью непонятен, важно чтобы сеть оставалась та, что задана<br />сервис общается с БД и другими сервисами, которые именно в сети которую я задал в настройках ...</p>]]></content>
			<author>
				<name><![CDATA[Алексей Вдовин]]></name>
				<uri>https://forum.rutoken.ru/user/16263/</uri>
			</author>
			<updated>2025-01-20T11:21:26Z</updated>
			<id>https://forum.rutoken.ru/post/26918/#p26918</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15052/#p15052" />
			<content type="html"><![CDATA[<p>Добрый день,</p><p>Если вы используете Рутокен S, то librtpkcs11ecp.so и&nbsp; opensc-pkcs11.so его не увидят. Это нормально. <br />Эти библиотека только с ECP-подобными-токенами работают, в которых криптография реализована.</p><p>Ошибка 6A82 - &quot;файл не найден&quot; именно об этом говорит.</p>]]></content>
			<author>
				<name><![CDATA[Алексей Лазарев]]></name>
				<uri>https://forum.rutoken.ru/user/9383/</uri>
			</author>
			<updated>2020-11-13T12:32:36Z</updated>
			<id>https://forum.rutoken.ru/post/15052/#p15052</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15051/#p15051" />
			<content type="html"><![CDATA[<p>дебаг pcscd во время вызова pkcs11-tool с модулем opensc-pkcs11.so в контейнере:<br /></p><div class="codebox"><pre><code>00000000 [139908789995456] debuglog.c:299:DebugLogSetLevel() debug level=debug
00000032 [139908789995456] debuglog.c:299:DebugLogSetLevel() debug level=debug
00000006 [139908789995456] debuglog.c:299:DebugLogSetLevel() debug level=debug
00000028 [139908789995456] debuglog.c:299:DebugLogSetLevel() debug level=debug
00000009 [139908789995456] debuglog.c:299:DebugLogSetLevel() debug level=debug
00000218 [139908789995456] configfile.l:284:DBGetReaderListDir() Parsing conf directory: /etc/reader.conf.d
00000030 [139908789995456] configfile.l:321:DBGetReaderListDir() Skipping non regular file: .
00000011 [139908789995456] configfile.l:321:DBGetReaderListDir() Skipping non regular file: ..
00000010 [139908789995456] configfile.l:360:DBGetReaderList() Parsing conf file: /etc/reader.conf.d/libccidtwin
00000071 [139908789995456] pcscdaemon.c:662:main() pcsc-lite 1.8.24 daemon ready.
00004433 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/001/001
00000203 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/001/001
00000211 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0003, path: /dev/bus/usb/001/002
00000190 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0001, path: /dev/bus/usb/001/001
00000213 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0002, path: /dev/bus/usb/001/003
00000234 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0A89, PID: 0x0020, path: /dev/bus/usb/001/004
00000014 [139908789995456] hotplug_libudev.c:436:HPAddDevice() Adding USB device: Aktiv Co. Rutoken S
00000083 [139908789995456] readerfactory.c:1075:RFInitializeReader() Attempting startup of Aktiv Co. Rutoken S 00 00 using /usr/lib/pcsc/drivers/ifd-rutokens.bundle/Contents/Linux/librutokens.so
00000206 [139908789995456] readerfactory.c:950:RFBindFunctions() Loading IFD Handler 3.0
00048120 [139908789995456] readerfactory.c:396:RFAddReader() Using the reader polling thread
00003848 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x0E0F, PID: 0x0002, path: /dev/bus/usb/001/003
00000693 [139908789995456] hotplug_libudev.c:297:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/002/001
00000297 [139908789995456] readerfactory.c:1410:RFWaitForReaderInit() Waiting init for reader: Aktiv Co. Rutoken S 00 00
00010137 [139908777309952] eventhandler.c:289:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000045 [139908777309952] Card ATR: 3B 6F 00 FF 00 56 72 75 54 6F 6B 6E 73 30 20 00 00 90 00
02876978 [139908789995456] winscard_msg_srv.c:255:ProcessEventsServer() Common channel packet arrival
00000077 [139908789995456] winscard_msg_srv.c:267:ProcessEventsServer() ProcessCommonChannelRequest detects: 8
00000012 [139908789995456] pcscdaemon.c:133:SVCServiceRunLoop() A new context thread creation is requested: 8
00000300 [139908760524544] winscard_svc.c:340:ContextThread() Authorized PC/SC client
00000034 [139908760524544] winscard_svc.c:344:ContextThread() Thread is started: dwClientID=8, threadContext @0x55ed6920f330
00000046 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_VERSION from client 8
00000009 [139908760524544] winscard_svc.c:374:ContextThread() Client is protocol version 4:4
00000006 [139908760524544] winscard_svc.c:394:ContextThread() CMD_VERSION rv=0x0 for client 8
00000362 [139908760524544] winscard_svc.c:362:ContextThread() Received command: ESTABLISH_CONTEXT from client 8
00000037 [139908760524544] winscard.c:215:SCardEstablishContext() Establishing Context: 0x44E588A
00000011 [139908760524544] winscard_svc.c:459:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 8
00000080 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_GET_READERS_STATE from client 8
00000176 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_GET_READERS_STATE from client 8
00000260 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000110 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000217 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000021 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000123 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CONNECT from client 8
00000016 [139908760524544] winscard_svc.c:497:ContextThread() Authorized client for &#039;Aktiv Co. Rutoken S 00 00&#039;
00000005 [139908760524544] winscard.c:259:SCardConnect() Attempting Connect to Aktiv Co. Rutoken S 00 00 using protocol: 3
00000006 [139908760524544] readerfactory.c:821:RFReaderInfo() RefReader() count was: 1
00000005 [139908760524544] winscard.c:352:SCardConnect() powerState: POWER_STATE_IN_USE
00000006 [139908760524544] prothandler.c:108:PHSetProtocol() Attempting PTS to T=0
00000006 [139908760524544] winscard.c:431:SCardConnect() Active Protocol: T=0
00000005 [139908760524544] winscard.c:456:SCardConnect() hCard Identity: 3bb9a6db
00000013 [139908760524544] winscard.c:518:SCardConnect() UnrefReader() count was: 2
00000007 [139908760524544] winscard_svc.c:511:ContextThread() CONNECT rv=0x0 for client 8
00000096 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CONTROL from client 8
00000060 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000025 [139908760524544] winscard.c:1365:SCardControl() UnrefReader() count was: 2
00000017 [139908760524544] winscard_svc.c:733:ContextThread() CONTROL rv=0x0 for client 8
00000135 [139908760524544] winscard_svc.c:362:ContextThread() Received command: GET_ATTRIB from client 8
00000044 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000022 [139908760524544] winscard.c:1440:SCardGetAttrib() UnrefReader() count was: 2
00000023 [139908760524544] winscard_svc.c:762:ContextThread() GET_ATTRIB rv=0x0 for client 8
00000095 [139908760524544] winscard_svc.c:362:ContextThread() Received command: GET_ATTRIB from client 8
00000027 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000006 [139908760524544] winscard.c:1440:SCardGetAttrib() UnrefReader() count was: 2
00000023 [139908760524544] winscard_svc.c:762:ContextThread() GET_ATTRIB rv=0x0 for client 8
00000195 [139908760524544] winscard_svc.c:362:ContextThread() Received command: DISCONNECT from client 8
00000045 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000021 [139908760524544] winscard.c:884:SCardDisconnect() Active Contexts: 1
00000019 [139908760524544] winscard.c:885:SCardDisconnect() dwDisposition: 0
00000018 [139908760524544] winscard.c:1020:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000027 [139908760524544] winscard.c:1046:SCardDisconnect() UnrefReader() count was: 2
00000021 [139908760524544] winscard_svc.c:548:ContextThread() DISCONNECT rv=0x0 for client 8
00000207 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000029 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000149 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000031 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000100 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000037 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000079 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000025 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000079 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000013 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000074 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000010 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000079 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000018 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000086 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000027 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000091 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000029 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000152 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000038 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000055 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000014 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000066 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000018 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000046 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CONNECT from client 8
00000011 [139908760524544] winscard_svc.c:497:ContextThread() Authorized client for &#039;Aktiv Co. Rutoken S 00 00&#039;
00000018 [139908760524544] winscard.c:259:SCardConnect() Attempting Connect to Aktiv Co. Rutoken S 00 00 using protocol: 3
00000006 [139908760524544] readerfactory.c:821:RFReaderInfo() RefReader() count was: 1
00000005 [139908760524544] winscard.c:352:SCardConnect() powerState: POWER_STATE_IN_USE
00000005 [139908760524544] winscard.c:431:SCardConnect() Active Protocol: T=0
00000005 [139908760524544] winscard.c:456:SCardConnect() hCard Identity: 6989683e
00000005 [139908760524544] winscard.c:518:SCardConnect() UnrefReader() count was: 2
00000005 [139908760524544] winscard_svc.c:511:ContextThread() CONNECT rv=0x0 for client 8
00000336 [139908760524544] winscard_svc.c:362:ContextThread() Received command: BEGIN_TRANSACTION from client 8
00000029 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000021 [139908760524544] winscard.c:1085:SCardBeginTransaction() Status: 0x00000000
00000026 [139908760524544] winscard.c:1088:SCardBeginTransaction() UnrefReader() count was: 2
00000018 [139908760524544] winscard_svc.c:563:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 8
00000083 [139908760524544] winscard_svc.c:362:ContextThread() Received command: TRANSMIT from client 8
00000018 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000005 [139908760524544] winscard.c:1601:SCardTransmit() Send Protocol: T=0
00000007 [139908760524544] APDU: 00 A4 08 00 02 00 2F
00197927 [139908760524544] SW: 6A 82
00000117 [139908760524544] winscard.c:1646:SCardTransmit() UnrefReader() count was: 2
00000038 [139908760524544] winscard_svc.c:683:ContextThread() TRANSMIT rv=0x0 for client 8
00000364 [139908760524544] winscard_svc.c:362:ContextThread() Received command: END_TRANSACTION from client 8
00000080 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000036 [139908760524544] winscard.c:1240:SCardEndTransaction() Status: 0x00000000
00000039 [139908760524544] winscard.c:1243:SCardEndTransaction() UnrefReader() count was: 2
00000062 [139908760524544] winscard_svc.c:579:ContextThread() END_TRANSACTION rv=0x0 for client 8
00009059 [139908760524544] winscard_svc.c:362:ContextThread() Received command: BEGIN_TRANSACTION from client 8
00000062 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000013 [139908760524544] winscard.c:1085:SCardBeginTransaction() Status: 0x00000000
00000009 [139908760524544] winscard.c:1088:SCardBeginTransaction() UnrefReader() count was: 2
00000014 [139908760524544] winscard_svc.c:563:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 8
00000446 [139908760524544] winscard_svc.c:362:ContextThread() Received command: TRANSMIT from client 8
00000027 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000010 [139908760524544] winscard.c:1601:SCardTransmit() Send Protocol: T=0
00000009 [139908760524544] APDU: 00 A4 08 00 02 15 50
00033258 [139908760524544] SW: 6A 82
00000089 [139908760524544] winscard.c:1646:SCardTransmit() UnrefReader() count was: 2
00000037 [139908760524544] winscard_svc.c:683:ContextThread() TRANSMIT rv=0x0 for client 8
00000332 [139908760524544] winscard_svc.c:362:ContextThread() Received command: TRANSMIT from client 8
00000108 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000062 [139908760524544] winscard.c:1601:SCardTransmit() Send Protocol: T=0
00000064 [139908760524544] APDU: 00 A4 08 00 02 31 50
00030688 [139908760524544] SW: 6A 82
00000042 [139908760524544] winscard.c:1646:SCardTransmit() UnrefReader() count was: 2
00000014 [139908760524544] winscard_svc.c:683:ContextThread() TRANSMIT rv=0x0 for client 8
00000505 [139908760524544] winscard_svc.c:362:ContextThread() Received command: END_TRANSACTION from client 8
00000048 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000013 [139908760524544] winscard.c:1240:SCardEndTransaction() Status: 0x00000000
00000009 [139908760524544] winscard.c:1243:SCardEndTransaction() UnrefReader() count was: 2
00000009 [139908760524544] winscard_svc.c:579:ContextThread() END_TRANSACTION rv=0x0 for client 8
00005025 [139908760524544] winscard_svc.c:362:ContextThread() Received command: DISCONNECT from client 8
00000038 [139908760524544] readerfactory.c:848:RFReaderInfoById() RefReader() count was: 1
00000011 [139908760524544] winscard.c:884:SCardDisconnect() Active Contexts: 1
00000008 [139908760524544] winscard.c:885:SCardDisconnect() dwDisposition: 0
00000010 [139908760524544] winscard.c:1020:SCardDisconnect() powerState: POWER_STATE_GRACE_PERIOD
00000010 [139908760524544] winscard.c:1046:SCardDisconnect() UnrefReader() count was: 2
00000042 [139908760524544] winscard_svc.c:548:ContextThread() DISCONNECT rv=0x0 for client 8
00000363 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_GET_READERS_STATE from client 8
00000426 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_GET_READERS_STATE from client 8
00000376 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000052 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000200 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000056 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000267 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000048 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000156 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000045 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000314 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000049 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000153 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000047 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000309 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000045 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000315 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000046 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000168 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000044 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000229 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000072 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000146 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000044 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000339 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000046 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000335 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000047 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000343 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000048 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000444 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_WAIT_READER_STATE_CHANGE from client 8
00000046 [139908760524544] winscard_svc.c:832:MSGSendReaderStates() Send reader states: 8
00000140 [139908760524544] winscard_svc.c:362:ContextThread() Received command: CMD_STOP_WAITING_READER_STATE_CHANGE from client 8
00000044 [139908760524544] winscard_svc.c:440:ContextThread() CMD_STOP_WAITING_READER_STATE_CHANGE rv=0x0 for client 8
00000316 [139908760524544] winscard_svc.c:362:ContextThread() Received command: RELEASE_CONTEXT from client 8
00000027 [139908760524544] winscard.c:229:SCardReleaseContext() Releasing Context: 0x44E588A
00000025 [139908760524544] winscard_svc.c:474:ContextThread() RELEASE_CONTEXT rv=0x0 for client 8
00000291 [139908760524544] winscard_svc.c:354:ContextThread() Client die: 8
00000074 [139908760524544] winscard_svc.c:1057:MSGCleanupClient() Thread is stopping: dwClientID=8, threadContext @0x55ed6920f330
00000039 [139908760524544] winscard_svc.c:1063:MSGCleanupClient() Freeing SCONTEXT @0x55ed6920f330</code></pre></div>]]></content>
			<author>
				<name><![CDATA[oleg_jpeg]]></name>
				<uri>https://forum.rutoken.ru/user/11585/</uri>
			</author>
			<updated>2020-11-13T08:56:09Z</updated>
			<id>https://forum.rutoken.ru/post/15051/#p15051</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/15050/#p15050" />
			<content type="html"><![CDATA[<p>Доброго дня! Отличный топик, вангую что будет пользоваться спросом. Проблему с установкой ifd-rutokens решил костылем:</p><div class="codebox"><pre><code>RUN dpkg --unpack /opt/tokugawa/ifd-rutokens_1.0.4_amd64.deb
RUN rm /var/lib/dpkg/info/ifd-rutokens.postinst
RUN dpkg --configure ifd-rutokens</code></pre></div><p>но вариант прокинуть /run/udev в контейнер выглядит куда более адекватным, спасибо! </p><p>В целом pcsc_scan из контейнера видит устройство, но pkcs11-tool отказывается видеть сам токен в докере</p><div class="codebox"><pre><code># pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -I
Cryptoki version 2.20
Manufacturer     OpenSC Project
Library          OpenSC smartcard framework (ver 0.19)
No slot with a token was found.</code></pre></div><p>тоже самое с хост машины с теми же дровами:<br /></p><div class="codebox"><pre><code># pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so -I
Cryptoki version 2.20
Manufacturer     OpenSC Project
Library          OpenSC smartcard framework (ver 0.17)
Using slot 0 with a present token (0x0)</code></pre></div><p>librtpkcs11ecp.so на обоих хостах ничего не нашел: <br /></p><div class="codebox"><pre><code># pkcs11-tool --module /usr/lib/librtpkcs11ecp.so -I
Cryptoki version 2.20
Manufacturer     Aktiv Co.
Library          Rutoken ECP PKCS #11 library (ver 2.0)
No slot with a token was found.</code></pre></div><p>Есть мысли в какую сторону можно копнуть?</p>]]></content>
			<author>
				<name><![CDATA[oleg_jpeg]]></name>
				<uri>https://forum.rutoken.ru/user/11585/</uri>
			</author>
			<updated>2020-11-13T08:31:16Z</updated>
			<id>https://forum.rutoken.ru/post/15050/#p15050</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13819/#p13819" />
			<content type="html"><![CDATA[<p>Здравствуйте,</p><p>Если Рутокен подключить к хосту, затем запустить контейнер и не отключать Рутокен на все время работы контейнера, то можно обойтись пробросом через опцию --device (<a href="https://docs.docker.com/engine/reference/commandline/run/#add-host-device-to-container---device">https://docs.docker.com/engine/referenc … r---device</a>)<br />Тогда исходная команда сократится до <br />sudo docker run -it --device=/dev/bus/usb/002/003 -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --publish=8083:8081&nbsp; --rm=true example_auth<br />Но при отключении Рутокена от компьютера он может изменить свой путь (например станет /dev/bus/usb/002/004). Также при отключении-подключении устройства его файл устройства (/dev/bus/usb/002/004) удаляется и создается заново. Однако при пробросе конкретного файла (или файла устройства) внутрь контейнера если меняется его inode (например файл удаляется и создается новый по тому же пути, но с другим inode), внутри контейнера будет виден старый файл со старым содержимым (подробнее <a href="https://forums.docker.com/t/modify-a-file-which-mount-as-a-data-volume-but-it-didnt-change-in-container/2813/14).">https://forums.docker.com/t/modify-a-fi … /2813/14).</a><br />Для того, чтобы при работающем контейнере можно было пробросить вновь подключенное устройство, необходимо добавить флаг --privileged (<a href="https://stackoverflow.com/questions/37423485/docker-container-in-priviledged-mode-not-showing-udev-symlinks">https://stackoverflow.com/questions/374 … v-symlinks</a>) (добавляет доступ ко всем доступным в системе устройствам, подробнее <a href="https://docs.docker.com/engine/reference/run/#runtime-privilege-and-linux-capabilities).">https://docs.docker.com/engine/referenc … bilities).</a> Также необходимо добавить --volume=/dev/bus/usb:/dev/bus/usb:ro для того, чтобы внутри запущенного контейнера было видно вновь подключенное&nbsp; устройство, --volume=/run/udev:/run/udev:ro (<a href="https://stackoverflow.com/questions/41753218/udevadm-does-not-show-all-attributes-inside-a-docker-container">https://stackoverflow.com/questions/417 … -container</a>) и --network=host (<a href="https://stackoverflow.com/questions/49687378/how-to-get-hosts-udev-events-from-a-docker-container">https://stackoverflow.com/questions/496 … -container</a>) для того, чтобы демон udev в контейнере увидел событие подключения нового устройства.<br />Таким образом если планирутеся при запущенном контейнере подключать и отключать Рутокен, то команда запуска контейнера будет выглядеть следующим образом:<br />sudo docker run -it --privileged --volume=/dev/bus/usb:/dev/bus/usb:ro --volume=/run/udev:/run/udev:ro -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --publish=8083:8081 --network=host --rm=true example_auth</p>]]></content>
			<author>
				<name><![CDATA[Алексей Лазарев]]></name>
				<uri>https://forum.rutoken.ru/user/9383/</uri>
			</author>
			<updated>2020-01-09T09:06:14Z</updated>
			<id>https://forum.rutoken.ru/post/13819/#p13819</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Установка драйвера ifd-rutokens в docker]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/13758/#p13758" />
			<content type="html"><![CDATA[<p>И ещё, в продолжение. Даже если запускаю контейнер с опцией --network=host вместо моей сети и утилита pcsc_scan наконец-то начинает корректно работать, команды доступа к токену продолжают вести себя странно:<br />1) На просьбу перечислить все контейнеры /opt/cprocsp/bin/amd64/csptest -keyset -enum_cont -verifyc -fqcn идёт ответ:<br /></p><div class="codebox"><pre><code>CSP (Type:80) v4.0.9019 KC2 Release Ver:4.0.9963 OS:Linux CPU:AMD64 FastCode:READY:AVX.
AcquireContext: OK. HCRYPTPROV: 17409331
OK.
Total: SYS: 0.000 sec USR: 0.000 sec UTC: 0.070 sec
[ErrorCode: 0x00000000]</code></pre></div><p>вместо перечня ключей на токене</p><p>2) Команда /opt/cprocsp/bin/amd64/certmgr -list -cont &#039;\\.\Aktiv Co. Rutoken S 00 00&#039; вместо вывода сертификата выдаёт:<br /></p><div class="codebox"><pre><code>Certmgr 1.1 (c) &quot;Crypto-Pro&quot;,  2007-2018.
program for managing certificates, CRLs and stores

Cannot open container

Keyset does not exist
[ErrorCode: 0x80090016]</code></pre></div><p>3) на просьбу перечислить ключи на токене командой /usr/lib/jvm/zulu-8-amd64/jre/bin/keytool -list -keystore NONE -storetype rutokenstore (вместо запроса пин-кода и последовательного вывода всех ключей) идёт ответ:<br /></p><div class="codebox"><pre><code>keytool error: java.security.KeyStoreException: RUTOKENSTORE not found</code></pre></div><p>4) в панели управления CSP RUTOKENSTORE отсутствует:<br /><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.rutoken.ru/uploads/images/2019/12/5d574ef4d98a6910a88f00ab4de402d2.png"><img class="fb_img" src="https://forum.rutoken.ru/uploads/previews/2019/12/5d574ef4d98a6910a88f00ab4de402d2.png" alt="" /></a></span></p><p>Причём локально, не в контейнере, всё работает.</p>]]></content>
			<author>
				<name><![CDATA[Алексей Черенцов]]></name>
				<uri>https://forum.rutoken.ru/user/11301/</uri>
			</author>
			<updated>2019-12-18T10:11:30Z</updated>
			<id>https://forum.rutoken.ru/post/13758/#p13758</id>
		</entry>
</feed>
