<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
		<link>https://forum.rutoken.ru/topic/3415/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/3415/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS».]]></description>
		<lastBuildDate>Fri, 10 Sep 2021 10:12:44 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
			<link>https://forum.rutoken.ru/post/15968/#p15968</link>
			<description><![CDATA[<p>действительно, спасибо!</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Fri, 10 Sep 2021 10:12:44 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/15968/#p15968</guid>
		</item>
		<item>
			<title><![CDATA[Re: Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
			<link>https://forum.rutoken.ru/post/15967/#p15967</link>
			<description><![CDATA[<div class="quotebox"><cite>SergeyRT пишет:</cite><blockquote><p>rv = _extendedFunctions-&gt;C_EX_PKCS7Sign(_session, data, sizeof(data), <strong>publicKey,</strong> &amp;signature, &amp;signatureSize, privateKey, NULL, 0, 0);</p></blockquote></div><p>Вы передаете дескриптор publicKey, а необходимо передавать дескриптор сертификата.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Fri, 10 Sep 2021 09:51:40 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/15967/#p15967</guid>
		</item>
		<item>
			<title><![CDATA[Re: Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
			<link>https://forum.rutoken.ru/post/15966/#p15966</link>
			<description><![CDATA[<p>Спасибо за ответ, но это не помогает. rv также равен 18.</p><p>Прикладываю код:</p><p>CK_OBJECT_HANDLE privateKey;</p><p>CK_OBJECT_CLASS keyClass1 = CKO_PRIVATE_KEY;<br />CK_ATTRIBUTE template1[] = {<br />&nbsp; {CKA_CLASS, &amp;keyClass1, sizeof(keyClass1)},<br />&nbsp; {CKA_ID, (void*)[[certificate id] bytes], [[certificate id] length]},<br />};<br />&nbsp; &nbsp; <br />rv = _functions-&gt;C_FindObjectsInit(_session, template1, ARRAY_LENGTH(template1));<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];</p><p>rv = _functions-&gt;C_FindObjects(_session, &amp;privateKey, 1, &amp;count);<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];</p><p>rv = _functions-&gt;C_FindObjectsFinal(_session);<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];</p><p>if (count != 1) {<br />&nbsp; &nbsp;[Pkcs11Error initWithDescription:@&quot;private key for certificate not found&quot;];<br />}</p><p>rv = _extendedFunctions-&gt;C_EX_PKCS7Sign(_session, data, sizeof(data), publicKey, &amp;signature, &amp;signatureSize, <strong>privateKey</strong>, NULL, 0, 0);</p><p>У вас в документации указано, что передача приватного ключа не обязательна: <br />&quot;hPrivKey - дескриптор закрытого ключа, соответствующего указанному сертификату. Если равен 0, то закрытый ключ будет искаться по ID сертификата&quot;</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Fri, 10 Sep 2021 09:14:51 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/15966/#p15966</guid>
		</item>
		<item>
			<title><![CDATA[Re: Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
			<link>https://forum.rutoken.ru/post/15965/#p15965</link>
			<description><![CDATA[<p>Добрый день. <br />Подпись производится с помощью закрытого ключа (private key). Именно его необходимо передавать в вызов C_EX_PKCS7Sign.<br />Описание функции доступно по ссылке <a href="https://dev.rutoken.ru/pages/viewpage.action?pageId=3178555#id-Описаниефункцийрасширения-C_EX_PKCS7Sign()">https://dev.rutoken.ru/pages/viewpage.a … KCS7Sign()</a><br />Вам необходимо поправить шаблон поиска ключа.<br />Открытый ключ (public key) используется для проверки подписи.</p>]]></description>
			<author><![CDATA[null@example.com (Аверченко Кирилл)]]></author>
			<pubDate>Fri, 10 Sep 2021 09:04:07 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/15965/#p15965</guid>
		</item>
		<item>
			<title><![CDATA[Подпись с помощью функции C_EX_PKCS7Sign не проходит. OS iOS]]></title>
			<link>https://forum.rutoken.ru/post/15963/#p15963</link>
			<description><![CDATA[<p>Добрый день.</p><p>Пытаюсь подписать некоторые данные используя C_EX_PKCS7Sign, но она всегда отдает в результате CKR_ATTRIBUTE_TYPE_INVALID.</p><p>Используемые код:</p><p>CK_OBJECT_CLASS keyClass = CKO_PUBLIC_KEY;<br />CK_ATTRIBUTE template[] = {<br />&nbsp; &nbsp; &nbsp; {CKA_CLASS, &amp;keyClass, sizeof(keyClass)},<br />&nbsp; &nbsp; &nbsp; {CKA_ID, (void*)[[certificate id] bytes], [[certificate id] length]},<br />};</p><p>rv = _functions-&gt;C_FindObjectsInit(_session, template, ARRAY_LENGTH(template));<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];<br />&nbsp; &nbsp; <br />rv = _functions-&gt;C_FindObjects(_session, &amp;publicKey, 1, &amp;count);<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];<br />&nbsp; &nbsp; <br />rv = _functions-&gt;C_FindObjectsFinal(_session);<br />if (CKR_OK != rv) [Pkcs11Error initWithCode:rv];<br />&nbsp; &nbsp; <br />if (count != 1) {<br />&nbsp; &nbsp;[Pkcs11Error initWithDescription:@&quot;public key for certificate not found&quot;];<br />}</p><p>CK_BYTE_PTR signature;<br />CK_ULONG signatureSize;</p><p>unsigned char data[7] = &quot;qwerty&quot;;<br />rv = _extendedFunctions-&gt;C_EX_PKCS7Sign(_session, data, sizeof(data), publicKey, &amp;signature, &amp;signatureSize, 0, NULL, 0, 0);</p><p>Здесь rv получается равен 18.<br />Подскажите, пожалуйста, что я делаю не так?</p><p>&gt; Пользователь авторизован.<br />&gt; если вместо вызова C_EX_PKCS7Sign использовать кусок кода из <a href="https://github.com/AktivCo/rutoken-demobank-ios/blob/062c16ca9a72c1dba2467f7a3ec541e842addf7c/Token.m#L385">https://github.com/AktivCo/rutoken-demo … ken.m#L385</a> с openssl, то все работает.</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Fri, 10 Sep 2021 07:57:45 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/15963/#p15963</guid>
		</item>
	</channel>
</rss>
