Статус: Новичок
Группы: Участники
Зарегистрирован: 09.09.2024(UTC) Сообщений: 7 Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *
расшифровать можно имея "на руках" закрытый ключ, сертификат служит не для этого. На сторону клиента передавать зашифрованные данные (скрытое поле, base64) и расшифровывать через плагин.
Я рассчитывал, что файл сертификата содержит закрытый ключ К сожалению, насколько я сейчас вижу, вариант с передачей данных сломает нам текущее взаимодействие через SDK. Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. Отредактировано пользователем 10 сентября 2024 г. 10:18:05(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
js: Код: var oEnvelopedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPEnvelopedData");
yield oEnvelopedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
var Decrypted = yield oEnvelopedData.Decrypt(EnvelopedBase64);
расшифрованные данные в base64 = yield oEnvelopedData.Content;
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa Автор: Андрей *
расшифровать можно имея "на руках" закрытый ключ, сертификат служит не для этого. На сторону клиента передавать зашифрованные данные (скрытое поле, base64) и расшифровывать через плагин.
Я рассчитывал, что файл сертификата содержит закрытый ключ К сожалению, насколько я сейчас вижу, вариант с передачей данных сломает нам текущее взаимодействие. Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. Сертификат - публичен и не содержит закрытый ключ. Тогда смысл шифрования и ЭП - если любой мог бы сделать описанное без наличия закрытого ключа (который связан матеметически с открытым из сертификата)? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa
К сожалению, насколько я сейчас вижу, вариант с передачей данных сломает нам текущее взаимодействие через SDK. Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. на сервере - сохранить зашифрованные данные, передать их, по запросу из браузера. При поступлении от клиента расшифрованных данных - продолжить обработку (взаимодействие с другой ИС). Ничего сложно. Сервер - в роли прокси. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. SDK - клиентский получается, с намертво зашитым кодом? java библиотека сама расшифровывает данные по переданному сертификату? Это точно? И при этом она на сервере, всё так? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 09.09.2024(UTC) Сообщений: 7 Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей * Автор: 17dufa Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. SDK - клиентский получается, с намертво зашитым кодом? java библиотека сама расшифровывает данные по переданному сертификату? Это точно? И при этом она на сервере, всё так? Код SDK открытый. Насколько я читаю код - все так. SDK сам расшифровывает и нет "дырки", куда я бы мог ему подпихнуть расшифрованный токен. По Вашим ответам, хотел бы уточнить, правильно я понимаю, что USB-токен собственно хранит закрытый ключ и достать его оттуда никак нельзя?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa Автор: Андрей * Автор: 17dufa Использование SDK не предполагает, что я могу сам расшифровать токен, установить его и далее вызывать методы SDK. Или все через SDK, или все голыми HTTP запросами. SDK - клиентский получается, с намертво зашитым кодом? java библиотека сама расшифровывает данные по переданному сертификату? Это точно? И при этом она на сервере, всё так? Код SDK открытый. Насколько я читаю код - все так. SDK сам расшифровывает и нет "дырки", куда я бы мог ему подпихнуть расшифрованный токен. По Вашим ответам, хотел бы уточнить, правильно я понимаю, что USB-токен собственно хранит закрытый ключ и достать его оттуда никак нельзя? через плагин - в принципе нельзя, запрещен метод экспорта, ключ может быть неизвлекаемым и извлекаемым. Первое - не обсуждается, криптография на токене, второе - программная реализация, но и тут ключ обычно имеет флаг запрета экспорта. Обходные пути не обсуждаются. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa Код SDK открытый. Насколько я читаю код - все так. SDK сам расшифровывает и нет "дырки", куда я бы мог ему подпихнуть расшифрованный токен. Тогда пишите автору, чтобы сделал инициализацию токена снаружи. И java библиотека поддерживает текущие алгоритмы шифрования (Магма\Кузнечик) или там только ГОСТ 89 разрешён на входе? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 09.09.2024(UTC) Сообщений: 7 Сказал(а) «Спасибо»: 1 раз
|
Автор: Андрей *
через плагин - в принципе нельзя, запрещен метод экспорта, ключ может быть неизвлекаемым и извлекаемым. Первое - не обсуждается, криптография на токене, второе - программная реализация, но и тут ключ обычно имеет флаг запрета экспорта. Обходные пути не обсуждаются.
Обходные не интересуют, спасибо. Теперь более-менее улеглось, а то с одной стороны вроде как есть usb-токен и он один, с другой файл сертификата и его можно и передавать, зачем тогда usb-токен непонятно.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,322 Сказал «Спасибо»: 549 раз Поблагодарили: 2208 раз в 1723 постах
|
Автор: 17dufa Автор: Андрей *
через плагин - в принципе нельзя, запрещен метод экспорта, ключ может быть неизвлекаемым и извлекаемым. Первое - не обсуждается, криптография на токене, второе - программная реализация, но и тут ключ обычно имеет флаг запрета экспорта. Обходные пути не обсуждаются.
Обходные не интересуют, спасибо. Теперь более-менее улеглось, а то с одной стороны вроде как есть usb-токен и он один, с другой файл сертификата и его можно и передавать, зачем тогда usb-токен непонятно. Почитайте основы PKI, кратко: сертификат - содержит открытый ключ + описание владельца (реквизиты) и данные по УЦ, его подпись под этим всем. Зачем нам нужен открытый ключ из сертификата? Для проверки подписи. Для шифрования данных. Для поиска среди контейнеров подходящего(низкоуровневое API). Зачем нам нужен сертификат? Для понимания - кто\откуда\какой УЦ выдал\период действия\статус (OCSP\CRL) Для поиска (на стороне владельца) - контейнера, в котором лежит закрытый ключ, чтобы им: - подписывать - расшифровывать В плагине всё внутри скрыто, снаружи простые методы и несколько строк кода на js для расшифрования. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close