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

Уведомление

Icon
Error

5 Страницы<12345>
Опции
К последнему сообщению К первому непрочитанному
Offline artsb  
#21 Оставлено : 9 сентября 2012 г. 19:33:42(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Сильно извиняюсь. С тестовым файлом я ступил. Выбрал такой файл, который менялся при пересборке проекта.
Так будет правильней: http://rghost.ru/private...64c7296f5d99991ed7696e64
Offline artsb  
#22 Оставлено : 9 сентября 2012 г. 22:15:10(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Андрей * написал:

1) чем "открыть"?

Например, Notepad++ или Far.
Андрей * написал:

2) чем различаются (кроме того участка с подписанными данными, что я привел выше + дополнительным OID-ом КриптоАРМ-а)?

Начало файлов тоже отличается.
Offline artsb  
#23 Оставлено : 9 сентября 2012 г. 22:23:29(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Не пойму, почему вообще КриптоАРМ ругается и не может вытащить данные из подписи.
Скрин ошибки я приводил выше. А подписываю так:
Код:
    iRet = CryptSignMessage(&mpParam,
                            FALSE,
                            1,
                            bMessageArray,
                            dwMessageSizeArray,
                            NULL,
                            &dwSignedLen);


Хеш алгоритм szOID_RSA_MD5. Так же пробовал szOID_RSA_SHA1RSA - одна и та же ошибка.
Offline Андрей Писарев  
#24 Оставлено : 9 сентября 2012 г. 23:36:11(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
artsb написал:
Андрей * написал:

1) чем "открыть"?

Например, Notepad++ или Far.
Андрей * написал:

2) чем различаются (кроме того участка с подписанными данными, что я привел выше + дополнительным OID-ом КриптоАРМ-а)?

Начало файлов тоже отличается.


Эти программы не поддерживают чтение pkcs7 (asn.1)
смотреть\сравнивать нужно, в утилитах поддерживающих ASN.1 (Editor\Dump)

Отредактировано пользователем 9 сентября 2012 г. 23:45:47(UTC)  | Причина: Не указана

Пользователь Андрей * прикрепил следующие файлы:
asn1.png (48kb) загружен 37 раз(а).

У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#25 Оставлено : 9 сентября 2012 г. 23:37:29(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
artsb написал:
Не пойму, почему вообще КриптоАРМ ругается и не может вытащить данные из подписи.
Скрин ошибки я приводил выше. А подписываю так:
Код:
    iRet = CryptSignMessage(&mpParam,
                            FALSE,
                            1,
                            bMessageArray,
                            dwMessageSizeArray,
                            NULL,
                            &dwSignedLen);


Хеш алгоритм szOID_RSA_MD5. Так же пробовал szOID_RSA_SHA1RSA - одна и та же ошибка.


Подпиши только с атрибутом "время подписания" и проверь в КриптоАРМе
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#26 Оставлено : 9 сентября 2012 г. 23:48:10(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
из SDK

Код:

    CRYPT_SIGN_MESSAGE_PARA param;
    DWORD MessageSizeArray[1];
    const BYTE* MessageArray[1];
    DWORD signed_len = 0;
    BYTE *signed_mem = NULL;
....

    ZeroMemory (&param, sizeof (param));
    param.cbSize = sizeof(CRYPT_SIGN_MESSAGE_PARA);
    param.dwMsgEncodingType = TYPE_DER;
    param.pSigningCert = pUserCert;
    
    param.HashAlgorithm.pszObjId = OID; /*szOID_RSA_MD5;*/
    param.HashAlgorithm.Parameters.cbData = 0;
    param.HashAlgorithm.Parameters.pbData = NULL;
    
    param.pvHashAuxInfo = NULL;

...
 param.dwFlags = 0;
    param.rgAuthAttr = NULL;
    
    MessageArray[0] = mem_tbs;
    MessageSizeArray[0] = mem_len;

    ret = CryptSignMessage(
	&param,
	detached,
	1,  /* количество detached или обоих (всегда тогда 1) вложений*/
	MessageArray,
	MessageSizeArray,
	NULL,
	&signed_len);

    if (ret) {
	printf("Calculate message len OK \n");
    }
    else
    {
	HandleErrorFL("Calculate message len");
    }
 




Отредактировано пользователем 10 сентября 2012 г. 0:04:22(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline artsb  
#27 Оставлено : 10 сентября 2012 г. 1:15:36(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Установил утилиту ASN.1 Editor, открыл созданую мною подпись, извлёк данные. Сравниваю с исходным файлом: в начале извлечённых данных есть лишние символы. Может из-за них КриптоАРМ сыпится?.. Или это глюк утилиты...
Проверил, перед вызовом CryptSignMessage() данные в полном порядке.

Создавать подпись без атрибутов я тоже пробовал - та же ошибка...

Отредактировано пользователем 10 сентября 2012 г. 1:16:42(UTC)  | Причина: Не указана

Offline artsb  
#28 Оставлено : 10 сентября 2012 г. 1:17:56(UTC)
artsb

Статус: Активный участник

Группы: Участники
Зарегистрирован: 06.05.2010(UTC)
Сообщений: 103
Откуда: центр Вселенной

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Похоже всё из-за дурацкого вектора. Сделал формирование подписи через буфер. Вроде бы, КриптоАРМ открыл )

Отредактировано пользователем 10 сентября 2012 г. 1:35:43(UTC)  | Причина: Не указана

Offline Андрей Писарев  
#29 Оставлено : 10 сентября 2012 г. 1:38:50(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
artsb написал:
Установил утилиту ASN.1 Editor, открыл созданую мною подпись, извлёк данные. Сравниваю с исходным файлом: в начале извлечённых данных есть лишние символы. Может из-за них КриптоАРМ сыпится?.. Или это глюк утилиты...


Утилита извлекает выделенный блок (save selected node as ...) с доп. информацией (5 + 524588 данные = 524593 байт)
в hex: 04 83 08 00 00


Отредактировано пользователем 10 сентября 2012 г. 1:41:09(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#30 Оставлено : 10 сентября 2012 г. 1:39:25(UTC)
Андрей *

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

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

Сказал «Спасибо»: 555 раз
Поблагодарили: 2252 раз в 1757 постах
artsb написал:
Похоже всё из-за дурацкого вектора. Сделал формирование подписи через буфер. Вроде бы, КриптоАРМ открыл )


а кто советовал его использовать?

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