Conversation
…scriptions; FIX encryptEnvelopedData method to accept certificate list instead of a single certificate, as the quantity of recipients might be well above 1
|
@norguhtar, добрый вечер. PR довольно объемный. Гляну как будет возможность. На данный момент падает билд, проверьте пожалуйста. |
|
Да вижу что падает, это сегодня добавляли еще отображение сертификатов без ключей, для возможности шифровать по открытому ключу. Без параметра, отдавались только сертификаты с ключами. |
|
Тесты поправили. Билд проходит. Добавили еще умолчания в getHashedData |
|
Тут вылезли конфликты. Мне вносить изменения которые будут включать и ваши и наши методы? Или подождать вашей реализации по нашим предложениям? |
|
@norguhtar по поводу конфликтов в dist/* и lib/* не заморачивайтесь и принимайте из мастера. Перед публикацией я их все равно сгенерирую еще раз. Главное решить все, что в src/*. |
|
хорошо. Там есть пересечения нашего функционала и нового функционала в 2.10 тут как? |
|
@norguhtar попробовал подлить в вашу ветку мастер, у меня получилось порешать конфликты без проблем. Если вы о дублировании функционала, надо подумать о предназначении каждого из методов, тк в новой версии могло появиться то, что вам нужно. Наблюдаю в вашей реализации вещи, которые не будут работать во всех заявленных браузерах:
Чтобы влить ваши изменения необходимо обновить примеры (хотя-бы для UMD) и протестировать их работу во всех браузерах, включая IE9. Только на примерах люди смогут понять как с чем едят новое API. Если это слишком затратно, можете подождать до следующей версии, в которой добавлю поддержку написания своих реализаций в кросс-браузерном API. Тк бывают ситуации (как ваша), в которой хочется реализовать свою логику используя низкоуровневое API cades плагина напрямую, при этом сохранив поддержку браузеров с синхронной и асинхронной версией плагина не писав реализацию дважды. |
|
Сейчас есть пересечения по getHashedData с нашей стороны и createHash с вашей, они прочти для одного и того же в дальнейшем используются. С примерами немного сложнее мы не на ангуляре пишем. Но примеры без ангуляра могу дать, только в каком виде? Могу к привести примеры зачем были добавлены выше приведенные методы и как используются у нас. |
|
Ну а насчет исправлений да можем подождать следующую версию. В текущей нами сделанной ветке необходимый нам функционал работает, когда аналогичный функционал появится в релизе просто переключимся. |
|
@norguhtar в репозитории лежат примеры как для ангуляра и реакта, так и для использования через тэг script (без библиотек и фреймворков). Можете добавить в пример с тэгом script сценарии, демонстрирующие работу добавленных методов. Не забудьте протестировать работу во всех заявленных в README браузерах. Вместо getHashedData используйте пожалуйста createHash, тк он умеет принимать потоки бинарных данных (что полезно при подписании файлов) и возвращает уже созданный хеш, а не внутренний объект cades плагина. |
Эмм тут есть проблема. Нам требуется не только первичное подписание, но и повторное подписание. И как раз в CoSignature вылазит. Там на вход подается хеш объект. |
Получилось? |
Пока в процессе. Отслеживать можно тут: |
|
Понадобилось тоже самое, есть варианты получить идентификатор сессии из бейс64 которы сбис отправляет ? // создание объекта, который умеет кодировать и декодировать
// @ts-ignore
const oEnvelopedData2 = await window.cadesplugin.CreateObjectAsync(
"CAdESCOM.CPEnvelopedData"
);
// указываем что должны декодировать
await oEnvelopedData2.Decrypt(sessionInfo);
// ОБЯЗАТЕЛЬНО перед получением контента необходимо указать что сообщение было зашифровано в формате base64
// @ts-ignore
await oEnvelopedData2.propset_ContentEncoding(
// @ts-ignore
window.cadesplugin.CADESCOM_BASE64_TO_BINARY
);
try {
// отображение контента
const content = await oEnvelopedData2.Content;
console.info('content', content);
} catch (e) {
console.warn(e);
}что то такое на ваниле получается |


Добрый день. В рамках наших хотелок несколько расширили API. Добавили следующие методы