<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
		<link>https://forum.rutoken.ru/topic/4316/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/4316/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «параллельный запуск jarsigner/jsign с рутокен 3.0».]]></description>
		<lastBuildDate>Mon, 27 May 2024 08:36:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24977/#p24977</link>
			<description><![CDATA[<p>Здравствуйте <strong>Abramova56</strong>, попробуйте для начала отключить антивирус на вашем компьютере.<br />Еще советуем обратиться напрямую в техническую поддержку личного кабинета ИП.</p>]]></description>
			<author><![CDATA[null@example.com (Николай Киблицкий)]]></author>
			<pubDate>Mon, 27 May 2024 08:36:36 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24977/#p24977</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24972/#p24972</link>
			<description><![CDATA[<p>Здравствуйте, на этапе&nbsp; &quot;Проверка защищённого соединения с сервером Личного кабинета индивидуального предпринимателя&quot; зависает, постоянно кружится и все. Буквально на прошлой неделе все получалось, но сам сервис личного кабинета налогоплательщика работал плохо, а сейчас заканчивается ошибкой. Что делать?</p>]]></description>
			<author><![CDATA[null@example.com (Abramova56)]]></author>
			<pubDate>Mon, 27 May 2024 06:46:29 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24972/#p24972</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24970/#p24970</link>
			<description><![CDATA[<p><strong>cy</strong>, добрый день.<br />Нет, программно вернуть не получится. Если только использовать управляемый USB хаб.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Mon, 27 May 2024 05:27:53 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24970/#p24970</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24889/#p24889</link>
			<description><![CDATA[<p>Спасибо. запросил у наших закупщиков.</p><p>а есть все таки способ, программно вернуть токен к жизни?</p>]]></description>
			<author><![CDATA[null@example.com (cy)]]></author>
			<pubDate>Tue, 21 May 2024 10:57:18 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24889/#p24889</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24887/#p24887</link>
			<description><![CDATA[<p><strong>cy</strong>, да, Рутокен ЭЦП 3.0 3220, к сожалению, имеет отнюдь не лучшую скорость подписи RSA4096. По нашим внутренним измерениям одна операция подписи без накладных расходов на токенах этой модели занимает 6 секунд.<br />Быстрая подпись RSA4096 реализована в токенах Рутокен ЭЦП 3.0 3120 и Рутокен ЭЦП 3.0 3150: в них само выполнение команды подписи RSA4096 занимает около 250 мс. С учетом накладных расходов у меня с токеном Рутокен ЭЦП 3.0 3120 подпись 256 файлов четырьмя батчами по 64 файла занимает около 75 секунд (время может немного плавать), 8 батчей по 32 файла -- около 70 секунд.</p>]]></description>
			<author><![CDATA[null@example.com (Евгений Мироненко)]]></author>
			<pubDate>Tue, 21 May 2024 10:33:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24887/#p24887</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24886/#p24886</link>
			<description><![CDATA[<p><span class="postimg"><a class="fancybox fancybox.image" rel="group" href="https://forum.rutoken.ru/uploads/images/2024/05/9d377c14932663e72896502a52a79108.png"><img class="fb_img" src="https://forum.rutoken.ru/uploads/previews/2024/05/9d377c14932663e72896502a52a79108.png" alt="" /></a></span> <br />модель нашего токена.<br />GlobalSign не дает возможности использовать ECDSA.<br />По возможности, подскажите с какой моделью токена получится ускорить подпись файлов при использовании RSA.</p><p>Спасибо за рекомендацию, про одновременное подписывание нескольких файлов, будем думать как ее в текущие процессы встроить.</p>]]></description>
			<author><![CDATA[null@example.com (cy)]]></author>
			<pubDate>Tue, 21 May 2024 09:42:33 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24886/#p24886</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24804/#p24804</link>
			<description><![CDATA[<p>Воспроизвели проблему.</p><p>1. Процессы <strong>java -jar jsign-5.0.jar ...</strong>, действительно, падают с ошибкой о нехватке памяти. Судя по дампу ошибки, проблема вызвана нехваткой виртуальной памяти (RAM + swap). Нагуглил: значение по умолчанию для Initial Heap Size в jdk22 (и ранее как будто тоже) -- 1/64 от физической RAM (<a href="https://docs.oracle.com/en/java/javase/22/gctuning/ergonomics.html#GUID-DA88B6A6-AF89-4423-95A6-BBCBD9FAE781">https://docs.oracle.com/en/java/javase/ … CBD9FAE781</a>). Так что падение от нехватки памяти выглядит ожидаемым.</p><p>2. Наблюдаю: некоторые процессы упали не на запуске, а в процессе выполнения (опять же из-за исчерпания heap). Считаю справедливым предположение, что нативные библиотеки используют не тот Heap, который выделился на этапе запуска JVM (это heap, управляемый GC java-машины), а общий Heap процесса (отъедают виртуальной памяти). Соответственно, если по 1/64 физической RAM на java-процесс в виртуальной памяти зарезервировано, и возникают попытки еще аллоцировать виртуальной памяти, в какой-то момент одна из попыток аллокации завершится ошибкой. В самом неудачном случае это происходит в тот момент, когда токен выполняет неразрывную &quot;цепочку&quot; APDU-команд. Ошибка выделения памяти в процессе, как правило, является ситуацией, в которой ничего нельзя поделать, и поэтому грациозно завершить цепочку не удается.</p><p>3. Удалось параллельно запускать 200+ процессов <strong>java -jar jsign-5.0.jar ...</strong> при условии указания опции <strong>-Xms</strong> (Initial Heap Size), например:</p><div class="codebox"><pre><code>java -Xms128m -jar ../jsign-5.0.jar --keystore ../eToken.cfg --alias &quot;Rutoken Plugin&quot; --storetype PKCS11 --storepass 12345678 --alg SHA-256 --tsaurl http://timestamp.globalsign.com/tsa/r6advanced1 --tsmode RFC3161 ${FILELIST}&amp;</code></pre></div><p>256 процессов по 128Mb -- это 32 Gb виртуальной памяти. Если RAM и swap меньше, стоит указывать меньшие значения (-Xms64m, -Xms32m) или же запускать меньше параллельных процессов <strong>java -jar jsign-5.0.jar ...</strong>.</p><div class="quotebox"><cite>cy пишет:</cite><blockquote><p>1. какие ограничения, на параллельное подписывание?</p></blockquote></div><p>Со стороны нашего middleware ограничений на параллельное его использование нет.<br />Со стороны timestamp сервера можно огрести (воспроизвелось): <br /></p><div class="codebox"><pre><code>jsign: Couldn&#039;t sign File197_0.exe
net.jsign.timestamp.TimestampingException: Unable to complete the timestamping after 3 attempts
        at net.jsign.timestamp.Timestamper.timestamp(Timestamper.java:122)
        at net.jsign.AuthenticodeSigner.createSignedData(AuthenticodeSigner.java:393)
        at net.jsign.AuthenticodeSigner.sign(AuthenticodeSigner.java:348)
        at net.jsign.SignerHelper.sign(SignerHelper.java:394)
        at net.jsign.JsignCLI.execute(JsignCLI.java:132)
        at net.jsign.JsignCLI.main(JsignCLI.java:40)
        Suppressed: java.io.IOException: Unable to complete the timestamping due to HTTP error: 429 - Too Many Requests
                at net.jsign.timestamp.RFC3161Timestamper.timestamp(RFC3161Timestamper.java:69)
                at net.jsign.timestamp.Timestamper.timestamp(Timestamper.java:127)
                ... 5 more
        Suppressed: java.io.IOException: Unable to complete the timestamping due to HTTP error: 429 - Too Many Requests
                at net.jsign.timestamp.RFC3161Timestamper.timestamp(RFC3161Timestamper.java:69)
                at net.jsign.timestamp.Timestamper.timestamp(Timestamper.java:127)
                ... 5 more
        Suppressed: java.io.IOException: Unable to complete the timestamping due to HTTP error: 429 - Too Many Requests
                at net.jsign.timestamp.RFC3161Timestamper.timestamp(RFC3161Timestamper.java:69)
                at net.jsign.timestamp.Timestamper.timestamp(Timestamper.java:127)
                ... 5 more
Try `java -jar jsign.jar --help&#039; for more information.</code></pre></div><p>Со стороны документации jsign есть намек на то, что много файлов стоит подписывать в одном вызове, а не в нескольких (<a href="https://ebourg.github.io/jsign/">https://ebourg.github.io/jsign/</a>):<br /></p><div class="quotebox"><blockquote><p>Implementation note: Jsign performs an extra call to the signing API to retrieve the current certificate chain before signing. When signing multiple files it&#039;s recommended to invoke Jsign only once with the list of files to avoid doubling the quota usage.</p></blockquote></div><div class="quotebox"><blockquote><p>2. есть ли программный способ вернуть токен в рабочее состояние?, найденное на текущий момент решение: физическое отключение подключение.</p></blockquote></div><p>Зависит от версии токена (скриншот окна &quot;Информация о Рутокен&quot; Панели управления Рутокен поможет уточнить). </p><div class="quotebox"><blockquote><p>3. есть ли какие-то варианты ускорения? при последовательном подписывании, подпись с сертификатом на рутокен, в 3-4 раза медленнее чем с сертификатом на SafeNet eToken.</p></blockquote></div><p>Для некоторых моделей Рутокен ЭЦП RSA-подпись -- не самая быстрая операция. Чтобы понять, каких значений скорости подписи можно достичь, опять же нужно знать версию используемого токена. Сам токен параллельно выполнять операции подписи не умеет (это специфика любой смарт-карты), так что ускорение при параллельном вызове <strong>java -jar jsign-5.0.jar ...</strong> может быть связано только с тем, что в промежутках между обращением к токену за подписью jsign выполняет какие-то еще операции.</p><p>Текущие опыты паралелльной подписи показывают, что подпись 256 файлов в два параллельных запуска <strong>java -jar jsign-5.0.jar ...</strong> с батчами по 128 файлов показывает улучшение в скорости подписания в 1.5 -- 2 раза по сравнению с запуском <strong>java -jar jsign-5.0.jar ...</strong> с одним батчем из 256 файлов. Между вариантами &quot;запустить 256 процессов подписи по одному файлу&quot; и &quot;запустить 2 процесса подписи по 128 файлов&quot; разница в выполнении незначительна (от запуска к запуску плавает в пользу одного из вариантов).</p><p>Если есть возможность (не знаю, можно ли в случае выпуска сертификата у Globalsign этим управлять), стоит запрашивать сертификат подписи с ECDSA-ключами, а не RSA-ключами. ECDSA-подпись на Рутокен в подавляющем большинстве моделей быстрее подписи RSA4096.</p><p>Резюмирую про варианты ускорения:<br />1. Подписывать в несколько параллельных запусков jsign (двух может быть достаточно).<br />2. Подбор/приобретение модели токена с самой быстрой подписью (нужно знать, каким алгоритмом вы подписываете).<br />3. Использование ECDSA, а не RSA (если у Globalsign есть такая опция).</p>]]></description>
			<author><![CDATA[null@example.com (Евгений Мироненко)]]></author>
			<pubDate>Wed, 15 May 2024 18:35:10 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24804/#p24804</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24798/#p24798</link>
			<description><![CDATA[<div class="quotebox"><cite>Евгений Мироненко пишет:</cite><blockquote><p><strong>cy</strong>, добрый день!</p><p>1. Правильно ли я понимаю, что вы выполняете подпись исполняемых файлов в соответствии с разделом &quot;Using Code Signing and EV Code Signing (Rutoken, Driver version below 4.17.0.0)&quot; инструкции GlobalSign (<a href="https://support.globalsign.com/code-signing/download-and-install-code-signing-rutoken-30">https://support.globalsign.com/code-sig … rutoken-30</a>)? Есть ли какие-то отклонения от данной инструкции? <br />2. При каком количестве параллельно подписываемых файлов можно ожидать стабильного воспроизведения проблемы?<br />3. Ошибка &quot;Ошибка Рутокен 0x6883. Ожидается завершающая команда цепочки.&quot; отображается в Панели Управления &quot;Рутокен&quot; после того, как некоторые из запусков jsign завершились неудачно?</p><div class="quotebox"><cite>cy пишет:</cite><blockquote><p>4. есть ли возможность совместить работу signtool и jarsign/jsign (как я понимаю для работы первой утилиты нужны драйвера 4.17 и новее, для вторых утилит, не новее 4.16)</p></blockquote></div><p>Не готов утверждать с полной уверенностью, но выглядит так, будто в драйверах 4.17 и новее не вносились никакие изменения, блокирующие выполнение подписи при помощи jsign. Скорее всего, в инструкции подразумевается, что в поддержка подписи signtool гарантируется с драйверами 4.17 и новее, а с драйверами не новее 4.16 гарантируется только подпись при помощи jsign.</p></blockquote></div><p>1. да по инструкции<br />2. 257 копий запустилось, примерно от 10 экземпляров пришла ошибка о нехватке памяти, потом пошли ошибки доступа к токену.<br />3. да, мы считаем что ошибка в консоли после этого &quot;массового&quot; запуска с ошибками.<br />4. вопрос снят.</p>]]></description>
			<author><![CDATA[null@example.com (cy)]]></author>
			<pubDate>Wed, 15 May 2024 12:08:34 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24798/#p24798</guid>
		</item>
		<item>
			<title><![CDATA[Re: параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24774/#p24774</link>
			<description><![CDATA[<p><strong>cy</strong>, добрый день!</p><p>1. Правильно ли я понимаю, что вы выполняете подпись исполняемых файлов в соответствии с разделом &quot;Using Code Signing and EV Code Signing (Rutoken, Driver version below 4.17.0.0)&quot; инструкции GlobalSign (<a href="https://support.globalsign.com/code-signing/download-and-install-code-signing-rutoken-30">https://support.globalsign.com/code-sig … rutoken-30</a>)? Есть ли какие-то отклонения от данной инструкции? <br />2. При каком количестве параллельно подписываемых файлов можно ожидать стабильного воспроизведения проблемы?<br />3. Ошибка &quot;Ошибка Рутокен 0x6883. Ожидается завершающая команда цепочки.&quot; отображается в Панели Управления &quot;Рутокен&quot; после того, как некоторые из запусков jsign завершились неудачно?</p><div class="quotebox"><cite>cy пишет:</cite><blockquote><p>4. есть ли возможность совместить работу signtool и jarsign/jsign (как я понимаю для работы первой утилиты нужны драйвера 4.17 и новее, для вторых утилит, не новее 4.16)</p></blockquote></div><p>Не готов утверждать с полной уверенностью, но выглядит так, будто в драйверах 4.17 и новее не вносились никакие изменения, блокирующие выполнение подписи при помощи jsign. Скорее всего, в инструкции подразумевается, что в поддержка подписи signtool гарантируется с драйверами 4.17 и новее, а с драйверами не новее 4.16 гарантируется только подпись при помощи jsign.</p>]]></description>
			<author><![CDATA[null@example.com (Евгений Мироненко)]]></author>
			<pubDate>Wed, 15 May 2024 09:45:02 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24774/#p24774</guid>
		</item>
		<item>
			<title><![CDATA[параллельный запуск jarsigner/jsign с рутокен 3.0]]></title>
			<link>https://forum.rutoken.ru/post/24772/#p24772</link>
			<description><![CDATA[<p>при параллельном запуске утилит подписывания, токен переходит в состояние: &quot;Ошибка Рутокен 0x6883. Ожидается завершающая команда цепочки.&quot; <br />1. какие ограничения, на параллельное подписывание?<br />2. есть ли программный способ вернуть токен в рабочее состояние?, найденное на текущий момент решение: физическое отключение подключение.<br />3. есть ли какие-то варианты ускорения? при последовательном подписывании, подпись с сертификатом на рутокен, в 3-4 раза медленнее чем с сертификатом на SafeNet eToken.</p><p>все происходит с версией драйверов 4.16</p><p>4. есть ли возможность совместить работу signtool и jarsign/jsign (как я понимаю для работы первой утилиты нужны драйвера 4.17 и новее, для вторых утилит, не новее 4.16)</p>]]></description>
			<author><![CDATA[null@example.com (cy)]]></author>
			<pubDate>Wed, 15 May 2024 09:10:37 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/24772/#p24772</guid>
		</item>
	</channel>
</rss>
