Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

6 Страницы«<456
Опции
К последнему сообщению К первому непрочитанному
Offline Pashk88  
#51 Оставлено : 24 июня 2014 г. 9:21:15(UTC)
Pashk88

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.06.2014(UTC)
Сообщений: 8
Российская Федерация
Откуда: Москва

Цитата:
В Msg3 - если в п.3 данные были Data1, то действительными будут подписи x1 и x2.
- у меня так же.

Цитата:
Если Data2, то y1 и x2.
- у меня в таком варианте все три действительны.

Цитата:
Если Data3, то только x2.
- при таком варианте x1 и x2 действительны.

Еще я выше писал, если еще добавить одну итерацию, т.е. после подписания Data3 и получения x2:
- Данные Data4 подписываю и получаю x3. Теперь при проверке подписей на Data4 получаю все подписи недействительными.
- Проверяю эти же подписи на данных Data3 - действительны все (даже x3), кроме y1 (что верно).

Я понимаю, что у меня наверняка есть ошибка в коде, но как это может быть возможным? Ладно еще вариант с Data3, когда у меня с x2 стала неожиданно действительна x1, но с Data4 это серьезная ошибка. Кто-то подписал данные Data4 получил подпись x3, уверен, что она действительна, а оказалось, что она действительна для данных Data3. Мистика..

Цитата:
И помните, что при добавлении параллельной подписи, она необязательно добавится в сообщение последней.

- так и есть, каждая новая подпись становится первой, если я не ошибаюсь.

Отредактировано пользователем 24 июня 2014 г. 9:25:18(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#52 Оставлено : 24 июня 2014 г. 13:39:46(UTC)
Новожилова Елена

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 935
Женщина
Откуда: Крипто-Про

Поблагодарили: 111 раз в 101 постах
Цитата:
так и есть, каждая новая подпись становится первой, если я не ошибаюсь

Нет, заранее невозможно предсказать, какой номер будет у новой подписи. Подписи кодируются в ASN1 и добавляются "в алфавитном порядке".
Как вы различаете x1, x2 и x3?

Что будет, если проверять подписи при помощи CryptVerifyDetachedMessageSignature?

Отредактировано пользователем 24 июня 2014 г. 13:48:10(UTC)  | Причина: Не указана

Offline Pashk88  
#53 Оставлено : 24 июня 2014 г. 14:30:13(UTC)
Pashk88

Статус: Новичок

Группы: Участники
Зарегистрирован: 10.06.2014(UTC)
Сообщений: 8
Российская Федерация
Откуда: Москва

Как вы различаете x1, x2 и x3?
У меня есть два "своих" атрибута: комментарий и дополнительный идентификатор пользователя (например его доменное имя).

С помощью высокоуровневых функций не проверял, попробую проверить сегодня.
Offline voronov  
#54 Оставлено : 29 марта 2015 г. 20:55:42(UTC)
voronov

Статус: Новичок

Группы: Участники
Зарегистрирован: 29.03.2015(UTC)
Сообщений: 1

помогите разобраться снепонятной проблемой. Почему то при попытке получить контент из сообщения, он у меня нулевой длины
Делаю аналогично как показывал Pashk88 в #44 в этой же теме, но почему то CMSG_CONTENT_PARAM пустой

1.1 Ищу контейнер закрытого ключа
1.1 Получаю закрытый ключ CryptAcquireCertificatePrivateKey()
1.2 Заполняю структуры CRYPT_ALGORITHM_IDENTIFIER, CMSG_SIGNER_ENCODE_INFO
1.3 Структуру CMSG_SIGNER_ENCODE_INFO помещаю в массив структур CMSG_SIGNER_ENCODE_INFO (массив csei)
1.4 Заполняю структуры CERT_BLOB
1.5 Структуру CERT_BLOB помещаю в массив структур CERT_BLOB (массив cb)
1.6 Заполняю структуру CMSG_SIGNED_ENCODE_INFO (csedei) с учетом массивов csei и cb
1.7 Получаю сообщение CryptMsgOpenToEncode(MY_ENCODING_TYPE, CMSG_DETACHED_FLAG, CMSG_SIGNED, &csedei, NULL, NULL)
1.8 Копирую подготовленный блоб c данными в сообщение CryptMsgUpdate(..., TRUE)
1.9 Получаю сообщение CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, &blob, &i)
1.10 Записываю блоб &blob в поле таблицы.

2.1 Загружаю содержимое поля таблицы (криптографическое сообщения) в память
2.2 Получаю сообщение CryptMsgOpenToDecode(MY_ENCODING_TYPE, CMSG_DETACHED_FLAG, 0, NULL, NULL, NULL)
2.3 Копирую в сообщение содержимое содержимое поля (крипт. сообщения) CryptMsgUpdate(..., TRUE)
2.4 Получаю сообщение CryptMsgGetParam(hMsg, CMSG_CONTENT_PARAM, 0, &blob, &i)

и вот здесь i=0. Почему????

если в п.1.7 и 2.4 вместо CMSG_DETACHED_FLAG поставить 0, то все отлично, блоб из п.2.4 тот, что надо. Но мне нужно загрузить после 2.3 измененное содержание, сохранив при этом подпись прежнего блоба, а сделать это насколько я понимаю возможно только с помощью CMSG_DETACHED_FLAG.

Отредактировано пользователем 29 марта 2015 г. 21:01:44(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (3)
6 Страницы«<456
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.