<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Форум Рутокен &mdash; Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
		<link>https://forum.rutoken.ru/topic/3599/</link>
		<atom:link href="https://forum.rutoken.ru/feed/rss/topic/3599/" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS».]]></description>
		<lastBuildDate>Fri, 10 Jun 2022 13:20:59 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
			<link>https://forum.rutoken.ru/post/17573/#p17573</link>
			<description><![CDATA[<p><strong>Павел Анфимов</strong>,&nbsp; добрый день!</p><p>Да, работает.</p><p>Свою проблему тоже удалось решить. Проблема была в &quot;кривой&quot; линковке либ</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Fri, 10 Jun 2022 13:20:59 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/17573/#p17573</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
			<link>https://forum.rutoken.ru/post/17552/#p17552</link>
			<description><![CDATA[<p><strong>SergeyRT</strong>, добрый день! </p><p>Заработала ли у Вас Демосмена после переключения на новый master?</p><p>Для диагностики проблемы в коде вашего приложения пока недостаточно информации.<br />Подготовьте, пожалуйста, минимальный пример из вашего приложения, в котором воспроизводится падение.</p>]]></description>
			<author><![CDATA[null@example.com (Павел Анфимов)]]></author>
			<pubDate>Wed, 08 Jun 2022 08:42:47 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/17552/#p17552</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
			<link>https://forum.rutoken.ru/post/17550/#p17550</link>
			<description><![CDATA[<p>Спасибо.</p><p>Собрал собственное приложение (приложение на React-native) и добавил все 4 необходимых framework&#039;и (OpenSSL 3.0 и rtengine3).</p><p>- Приложение периодически падает при вызове d2i_X509 с ошибкой EXC_BAD_ACCESS (падает всегда, если вызывать чтение токенов при запуске приложения. А если запустить приложение, немного подождать и потом подключить токен, то падает не всегда). Вызов d2i_X509 полностью повторяет Ваш пример из гита.<br />- Вызов rt_eng_p11_key_pair_wrap все также отдает nil.</p><p>Подскажите, пожалуйста, как можно получить более подробную информацию о выполнении функции?</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Tue, 07 Jun 2022 19:25:10 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/17550/#p17550</guid>
		</item>
		<item>
			<title><![CDATA[Re: Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
			<link>https://forum.rutoken.ru/post/17544/#p17544</link>
			<description><![CDATA[<p><strong>SergeyRT</strong>, здравствуйте! </p><p>Спасибо за сигнал.</p><p>Мы актуализировали <a href="https://github.com/AktivCo/rutoken-demoshift-ios">https://github.com/AktivCo/rutoken-demoshift-ios</a> (приложение Демосмена), теперь оно собирается с последним Рутокен SDK. И в том числе использует вызов rt_eng_p11_key_pair_wrap (<a href="https://github.com/AktivCo/rutoken-demoshift-ios/blob/master/demoshift/Pkcs11/Token.swift#L148">https://github.com/AktivCo/rutoken-demo … swift#L148</a>).<br />Обратите внимание, что ветка master использует OpenSSL 3.0 и rtengine3.</p>]]></description>
			<author><![CDATA[null@example.com (Павел Анфимов)]]></author>
			<pubDate>Tue, 07 Jun 2022 14:39:01 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/17544/#p17544</guid>
		</item>
		<item>
			<title><![CDATA[Ошибка при выполнении функции rt_eng_p11_key_pair_wrap на swift. iOS]]></title>
			<link>https://forum.rutoken.ru/post/17543/#p17543</link>
			<description><![CDATA[<p>Добрый день, коллеги.</p><p>Подскажите, пожалуйста, как сделать корректный вызов функции rt_eng_p11_key_pair_wrap на swift?</p><p>Скачал последнюю версию SDK и пытался собрать Ваш пример из гитхаб для iOS на swift (<a href="https://github.com/AktivCo/rutoken-demoshift-ios">https://github.com/AktivCo/rutoken-demoshift-ios</a>), перед этим подложив в проект нужные framework&#039;и (openssl 1.1, engine - 1.1). Но наткнулся на проблему отсутствия rt_eng_init / rt_eng_final / rt_eng_p11_session_new и так далее (<a href="https://github.com/AktivCo/rutoken-demoshift-ios/blob/master/demoshift/Pkcs11/TokenManager.swift#L54">https://github.com/AktivCo/rutoken-demo … .swift#L54</a>). Посмотрев на другой Ваш проект для iOS на Objc обнаружил, что вместо вышеуказанных функции там используется rt_eng_load_engine / rt_eng_unload_engine / rt_eng_p11_session_wrap и так далее. Поэтому заменил часть функций engine из swift проекта на функции из Objc проекта.</p><p>Пример кода:</p><div class="codebox"><pre><code>let publicHandle: CK_OBJECT_HANDLE = findObject(CKO_PUBLIC_KEY, ...)
let privateHandle: CK_OBJECT_HANDLE = findObject(CKO_PRIVATE_KEY, ...)

var functionList = CK_FUNCTION_LIST()
try withUnsafeMutablePointer(to: &amp;functionList) { pointer in
var functionListPointer: UnsafeMutablePointer&lt;CK_FUNCTION_LIST&gt;? = pointer
let rv = C_GetFunctionList(&amp;functionListPointer)
guard rv == CKR_OK else {
  throw &quot;Error&quot;
}

guard let wrappedSession = rt_eng_p11_session_wrap(functionListPointer, token.session, 0, nil) else {
  throw &quot;Error&quot;
}
defer {
  rt_eng_p11_session_free(wrappedSession)
}

guard let evpPKey = rt_eng_p11_key_pair_wrap(wrappedSession, privateHandle, publicHandle) else {
  throw &quot;Error&quot; // получаю ошибку
}
defer {
  EVP_PKEY_free(evpPKey)
}

...
}</code></pre></div><p>Предполагаю, что получение handle&#039;ов ключей валидно, так как вызов функции C_EX_PKCS7Sign с использованием этих ключей выполняется успешно.</p>]]></description>
			<author><![CDATA[null@example.com (SergeyRT)]]></author>
			<pubDate>Tue, 07 Jun 2022 11:11:12 +0000</pubDate>
			<guid>https://forum.rutoken.ru/post/17543/#p17543</guid>
		</item>
	</channel>
</rss>
