Статус:: Участник
Группы: Участники
Зарегистрирован: 01.07.2008(UTC) Сообщений: 17
|
Добрый день! Задача: Подписать на web-клиенте бинарные данные (данные будут переданы с сервера, например в формате Base64). Проблема: 1. Свойство CAPICOM.SignedData.Content, имеет тип String. http://msdn.microsoft.co...ary/aa387724(VS.85).aspx[Property Content As String] 2. JavaScript не работает с бинарными данными. Вопрос: Возможно ли на web-клиенте через JavaScript + CAPICOM, подписать бинарные данные полученные с сервера? P.S. Разумно было предположить, что если свойство Content имеет текстовый тип, то возможно бинарные данные можно подписать, если предварительно их преобразовать в некий текстовый формат, я натолкнулся на некий класс "Utilities Object", который предоставляет методы преобразования бинарных данных в B64 и "Binary String".
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
String для CAPICOM - это не обязательно именно текст, там могут лежать и бинарные данные, полученные например, как Вы правильно заметили, с помощью CAPICOM.Utilities. Так что если Вам удалось в скрипте получить бинарную строку каким-то образом - можете смело ее передавать в SignedData.Content. |
|
|
|
|
Статус:: Участник
Группы: Участники
Зарегистрирован: 01.07.2008(UTC) Сообщений: 17
|
Удалось организовать работу с бинарой следующим образом: 1. Серверная сторона трансформирует бинарный контент в Base64 2. Клиент перед передачей в SignedData.Content производит соответственно обратную трансформацию из Base64, средствами CAPICOM.Utilites. Меня только смущает, что метод Base64Decode из CAPICOM.Utilites (http://msdn.microsoft.com/en-us/library/aa388177(VS.85).aspx), имеет сигнатуру: Код:Function Base64Decode( _
ByVal EncodedString As String _
) As String
,т.е. возвращает строку (!). По скольку BSTR хранит свой размер, и следовательно строка может содержать char(0) (Internally, the BSTR string is length prefixed, null terminated and may contain nulls within the body of the string. - http://www.geocities.com/Jeff_Louie/bstr.html), то bin-данные вида: "0_____1" (где '_' - char(0)) совершенного нормального проходят через эту цепочку трансформаций, а не 'рубятся' на "0_".
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close