Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,271
Сказал(а) «Спасибо»: 22 раз Поблагодарили: 446 раз в 325 постах
|
На данный момент динамическая линковка не предусмотрена. Мысль переделать статический фреймворк в набор динамических библиотек как на всех остальных unix у меня была. Но это сложная и объёмная работа, которая пока нужна только вам (и нам - для упрощения владения кодом). Плюс трудно оценить, навредит ли кому-то такое решение. Так что я даже сроков начала для неё не назову. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2012(UTC) Сообщений: 119 Откуда: Digital Design Сказал «Спасибо»: 19 раз Поблагодарили: 1 раз в 1 постах
|
Ну учитывая скорость роста количества свифтовых проектов, необходимость в этом, думаю, вырастет очень быстро :)
Может, посоветуете тогда что-нибудь, воркэраунды, бест практисес..? |
ВАСИЛИЙ АНИСИМОВ Ведущий iOS разработчик в «Digital Design» www.digdes.ru |
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,271
Сказал(а) «Спасибо»: 22 раз Поблагодарили: 446 раз в 325 постах
|
Работу начали, но она займёт несколько месяцев.
Решение на поверхности: не передавать между библиотеками объекты. Перед CertDuplicateCertificateContext() надо получить аналогичный контекст в другой библиотеке. Если certContext будет использоваться для проверки подписи, то его можно передать в виде blob-а. Если для подписи, то надо передать информацию о хранилище (имя и тип) и его thumbprint, чтобы его можно было там найти.
|
|
1 пользователь поблагодарил Русев Андрей за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2012(UTC) Сообщений: 119 Откуда: Digital Design Сказал «Спасибо»: 19 раз Поблагодарили: 1 раз в 1 постах
|
Прекрасные новости! Спасибо! В принципе, то же самое подумал, перенести всю работу с контекстами и хранилищами в один модуль. Но это довольно трудоемко, пока сделал обходной вариант - если CertDuplicateCertificateContext ничего не возвращает, ищу сертификат в хранилище заново. |
ВАСИЛИЙ АНИСИМОВ Ведущий iOS разработчик в «Digital Design» www.digdes.ru |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2012(UTC) Сообщений: 119 Откуда: Digital Design Сказал «Спасибо»: 19 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей Русев Работу начали, но она займёт несколько месяцев.
Добрый день! Есть ли какие-то обновления по данному вопросу? |
ВАСИЛИЙ АНИСИМОВ Ведущий iOS разработчик в «Digital Design» www.digdes.ru |
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2012(UTC) Сообщений: 119 Откуда: Digital Design Сказал «Спасибо»: 19 раз Поблагодарили: 1 раз в 1 постах
|
Автор: Андрей Русев Работу начали, но она займёт несколько месяцев.
Коллеги, есть смысл ждать каких-то подвижек в эту сторону? |
ВАСИЛИЙ АНИСИМОВ Ведущий iOS разработчик в «Digital Design» www.digdes.ru |
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 16.04.2008(UTC) Сообщений: 1,271
Сказал(а) «Спасибо»: 22 раз Поблагодарили: 446 раз в 325 постах
|
День добрый. Пока тема забуксовала: в ней можно сложных моментов. В частности мы не сможем сделать два фреймворка: статический и динамический, поэтому переход ожидается болезненным. Но вы же сделали обходные пути, почему вас это всё ещё волнует? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 27.04.2012(UTC) Сообщений: 119 Откуда: Digital Design Сказал «Спасибо»: 19 раз Поблагодарили: 1 раз в 1 постах
|
Потому что приходится переводить все модули, использующие КриптоПро на статику и решать много проблем с дубликатами символов, когда в нескольких модулях есть одинаковые классы, статические переменные и методы. Если же оставлять как есть, то получается, что работает сразу несколько инстансов КриптоПро, в каждом модуле свой, думаю, что так не очень хорошо делать. Так же, нельзя использовать КП напрямую из Свифта, но это скорее из-за отсутствия .modulemap файла, а не из-за типа линковки. То есть, приходится писать ObjC обёртки на всё. А, и самое печальное, из-за особенностей встраивания КриптоПро нельзя использовать в библиотеке без подключения к основному проекту. Например, в расширениях для того, чтобы шифровать пуши или впн по госту. Потому что не проходит проверка целостности. Хотя у вас это как-то сделано в приложении с впн расширением. |
ВАСИЛИЙ АНИСИМОВ Ведущий iOS разработчик в «Digital Design» www.digdes.ru |
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close