<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Форум Рутокен &mdash; Рутокен ЭЦП 3.0 как отформатировать/сбросить в заводские настройки?]]></title>
	<link rel="self" href="https://forum.rutoken.ru/feed/atom/topic/4494/" />
	<updated>2024-10-23T08:41:39Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.rutoken.ru/topic/4494/</id>
		<entry>
			<title type="html"><![CDATA[Re: Рутокен ЭЦП 3.0 как отформатировать/сбросить в заводские настройки?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26402/#p26402" />
			<content type="html"><![CDATA[<p>0. Нет, без ввода пин-кода &quot;Администратора&quot; или без залоченного пин-кода нельзя.<br />1. Все так.<br />2. Этот параметр влиял на работу Рутокен Bluetooth. Для Рутокен ЭЦП 3.0 он всегда равен 0<br />3. Нет, это не относится форматированию токена</p>]]></content>
			<author>
				<name><![CDATA[Федосов Никита]]></name>
				<uri>https://forum.rutoken.ru/user/14036/</uri>
			</author>
			<updated>2024-10-23T08:41:39Z</updated>
			<id>https://forum.rutoken.ru/post/26402/#p26402</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рутокен ЭЦП 3.0 как отформатировать/сбросить в заводские настройки?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26399/#p26399" />
			<content type="html"><![CDATA[<p>Я видел этот тред. </p><p>Это не то, о чем я спрашиваю. </p><p>Меня интересует работа через API pkcs11...</p>]]></content>
			<author>
				<name><![CDATA[andydandy]]></name>
				<uri>https://forum.rutoken.ru/user/15504/</uri>
			</author>
			<updated>2024-10-23T07:56:41Z</updated>
			<id>https://forum.rutoken.ru/post/26399/#p26399</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Рутокен ЭЦП 3.0 как отформатировать/сбросить в заводские настройки?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26398/#p26398" />
			<content type="html"><![CDATA[<p>Добрый день.<br />Вы можете форматировать ваш Рутокен с полной потерей данных согласно инструкции: <a href="http://kb.rutoken.ru/display/KB/PU1001">http://kb.rutoken.ru/display/KB/PU1001</a></p>]]></content>
			<author>
				<name><![CDATA[Федосов Никита]]></name>
				<uri>https://forum.rutoken.ru/user/14036/</uri>
			</author>
			<updated>2024-10-23T07:49:30Z</updated>
			<id>https://forum.rutoken.ru/post/26398/#p26398</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Рутокен ЭЦП 3.0 как отформатировать/сбросить в заводские настройки?]]></title>
			<link rel="alternate" href="https://forum.rutoken.ru/post/26395/#p26395" />
			<content type="html"><![CDATA[<p>Привет,</p><p>Есть необходимость реанимировать/отформатировать/скинуть в заводские настройки Рутокен ЭЦП 3.0 или 2.0<br />у которого утеряны все пин коды.</p><p>Использую для этого функцию C_EX_InitToken:<br /></p><div class="codebox"><pre><code>    void format() {
        CK_RUTOKEN_INIT_PARAM ckRtInitParams;
        ckRtInitParams.ulSizeofThisStructure = sizeof(CK_RUTOKEN_INIT_PARAM);
        ckRtInitParams.UseRepairMode = 1;
        ckRtInitParams.pNewAdminPin = SO_PIN;
        ckRtInitParams.ulNewAdminPinLen = sizeof(SO_PIN);
        ckRtInitParams.pNewUserPin = USER_PIN; 
        ckRtInitParams.ulNewUserPinLen = sizeof(USER_PIN);
        ckRtInitParams.ChangeUserPINPolicy =
            TOKEN_FLAGS_ADMIN_CHANGE_USER_PIN | TOKEN_FLAGS_USER_CHANGE_USER_PIN;
        ckRtInitParams.ulMinAdminPinLen = 6;
        ckRtInitParams.ulMinUserPinLen = 6; 
        ckRtInitParams.ulMaxAdminRetryCount = 10;
        ckRtInitParams.ulMaxUserRetryCount = 10;
        ckRtInitParams.pTokenLabel = TOKEN_LABEL;
        ckRtInitParams.ulLabelLen = sizeof(TOKEN_LABEL);
        ckRtInitParams.ulSmMode = 0;

        CK_RV rv = m_pkcs11Library.getFunctionListExt()-&gt;C_EX_InitToken(
                 m_slot, 
                 SO_PIN, 
                 sizeof(SO_PIN), 
                 &amp;ckRtInitParams
        );
        if (rv != CKR_OK) {
            throw std::runtime_error(to_string(rv));
        }
    }</code></pre></div><p>Методом научного тыка выяснил, что для случая утерянных пинкодов, C_EX_InitToken нужно вызвать вхолостую до 10 раз, <br />пока пинкод администратора не залочится, и только потом она отработает.</p><p><strong>0.</strong> Есть способ запустить C_EX_InitToken без лока пинкода администратора?<br />По крайней мере без десятка холостых вызовов с пинкодом.</p><p><strong>1.</strong> Правильно я понимаю, что параметр UseRepairMode определяет только то, как отработает C_EX_InitToken.<br />Т.е. UseRepairMode не записыватся на токен во время форматирования и никак не влияет на его дальнейшую работу?<br />И если пин администратора залочен то C_EX_InitToken отработает только в случае UseRepairMode!=0? И это единственная его функция?</p><p><strong>2.</strong> Чем упраляет ulSmMode?</p><p><strong>3.</strong> В rtpkcs11t.h есть такой код:<br /></p><div class="codebox"><pre><code>/* C_EX_SlotManage mode */
#define MODE_RESTORE_FACTORY_DEFAULTS    0x06UL
#define MODE_GET_PIN_SET_TO_BE_CHANGED   0x07UL

/* Data structure to be used in C_EX_SlotManage - extended function with
 * MODE_RESTORE_FACTORY_DEFAULTS for token supporting trusted import */
typedef struct CK_VENDOR_RESTORE_FACTORY_DEFAULTS_PARAMS {
  CK_ULONG                  ulSizeofThisStructure;      /* [in] init this field by size of this structure. For example -
                                                             st.ulSizeofThisStructure = sizeof(CK_RUTOKEN_CHANGE_EMITENT_PASS_PARAM) */
  CK_BYTE_PTR               pAdminPin;                  /* [in] pointer to byte array with current admin PIN */
  CK_ULONG                  ulAdminPinLen;              /* [in] length of current admin PIN */
  CK_RUTOKEN_INIT_PARAM_PTR pInitParam;                 /* [in] pointer to structure with initialization params*/
  CK_BYTE_PTR               pNewEmitentKey;             /* [in] pointer to byte array with new emitent key (32 bytes) */
  CK_ULONG                  ulNewEmitentKeyLen;         /* [in] length of new emitent key (32) */
  CK_ULONG                  ulNewEmitentKeyRetryCount;  /* [in] emitent key retry count */
} CK_VENDOR_RESTORE_FACTORY_DEFAULTS_PARAMS;</code></pre></div><p>Это еще один способ сброситься в заводские настройки помимо C_EX_InitToken, но через C_EX_SlotManage? <br />Если да, то где можно найти пример использования?<br />В описании C_EX_SlotManage на сайте, не нашел упоминания про MODE_RESTORE_FACTORY_DEFAULTS.</p>]]></content>
			<author>
				<name><![CDATA[andydandy]]></name>
				<uri>https://forum.rutoken.ru/user/15504/</uri>
			</author>
			<updated>2024-10-23T06:26:58Z</updated>
			<id>https://forum.rutoken.ru/post/26395/#p26395</id>
		</entry>
</feed>
