Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Спрошу конкретнее. Как добавить комментарий, назначение и время в подпись так, чтобы КриптоАРМ их увидел?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
artsb написал:Спрошу конкретнее. Как добавить комментарий, назначение и время в подпись так, чтобы КриптоАРМ их увидел? Так же не интересно ... все сразу... здесь выложить... где код, какие ошибки (верхний "кусок" не считается)? было ли ознакомление с SDK\MSDN\примерами кодирования ? p.s. напомнило ... Отредактировано пользователем 9 сентября 2012 г. 4:24:51(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Андрей * написал: Так же не интересно ... все сразу... здесь выложить... где код, какие ошибки (верхний "кусок" не считается)?
Согласен ) Андрей * написал: было ли ознакомление с SDK\MSDN\примерами кодирования ?
С MSDN познакомился, а SDK бегло пробежал. Да уж. Бывает, когда нужно что-то быстро сделать... Подписываю данные с помощью CryptSignMessage(). Параметры такие: Код: memset(&mpParam, 0, sizeof(CRYPT_SIGN_MESSAGE_PARA));
mpParam.cbSize = sizeof(CRYPT_SIGN_MESSAGE_PARA);
mpParam.dwMsgEncodingType = X509_ASN_ENCODING | PKCS_7_ASN_ENCODING;
mpParam.pSigningCert = CertContext;
mpParam.cMsgCert = 1;
mpParam.rgpMsgCert = &CertContext;
mpParam.HashAlgorithm.pszObjId = szOID_RSA_MD5;
Причём, сейчас заметил, что даже если не добавлять атрибуты, т.е. Код: mpParam.cAuthAttr = 0;
mpParam.rgAuthAttr = NULL;
То при открытии моей подписи с помощью КриптоАРМ, возникает ошибка:  Эта же ошибка возникает и при добавлении атрибутов. Как добавить в атрибуты время, я нашёл в примерах КриптоПРО. А вот комментарий и назначение добавляю по следующему принципу: Код: const char ccCommentOID[] = "1.2.643.2.45.1.1.1";
CRYPT_ATTRIBUTE ca[1];
CRYPT_ATTR_BLOB caBlobComment[1];
DWORD aSize;
CSmartPtr<BYTE> aComment;
CERT_NAME_VALUE nvComment;
nvComment.dwValueType = CERT_RDN_UNICODE_STRING;
nvComment.Value.cbData = wcslen(Comment) * 2;
nvComment.Value.pbData = (unsigned char *)Comment;
aSize = 0;
iRet = CryptEncodeObject(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
X509_ANY_STRING,
(LPVOID)&nvComment,
NULL,
&aSize);
if(!iRet)
{
return false;
}
aComment.Pointer = new BYTE[aSize];
if(!aComment.Pointer)
{
return false;
}
iRet = CryptEncodeObject(X509_ASN_ENCODING | PKCS_7_ASN_ENCODING,
X509_ANY_STRING,
(LPVOID)&nvComment,
aComment.Pointer,
&aSize);
if(!iRet)
{
return false;
}
caBlobComment[0].cbData = aSize;
caBlobComment[0].pbData = aComment.Pointer;
ca[0].pszObjId = (char *)ccCommentOID;
ca[0].cValue = 1;
ca[0].rgValue = caBlobComment;
mpParam.cAuthAttr = 1;
mpParam.rgAuthAttr = ca;
Но если открыть мою подпись и подпись сформированную с помощью КриптоАРМ, то они очень сильно отличаются...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
Не поленюсь, спрошу: а здесь выложить можешь файл+ эцп к нему (от rsa-сертификата)?
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
artsb написал:http://rghost.ru/private/40267423/76f233bd8d62543c228a97e3516cc950
В архиве исходный файл (взял на абум) и две подписи: одна сделана с помощью КриптоАРМ, другая - моя. Обе сделаны одним и тем же сертификатом и с одинаковыми атрибутами. Тип: присоединенная ЭЦП. Отредактировано пользователем 9 сентября 2012 г. 18:02:23(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 06.05.2010(UTC) Сообщений: 103 Откуда: центр Вселенной
Сказал(а) «Спасибо»: 2 раз Поблагодарили: 1 раз в 1 постах
|
Андрей * написал:Тип: присоединенная ЭЦП. Ну да, так и есть: Код: iRet = CryptSignMessage(&mpParam,
FALSE, // <--
1,
bMessageArray,
dwMessageSizeArray,
NULL,
&dwSignedLen);
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
для начала: в твоем файле- не те данные, что в приложенном файле и которые есть в encsig.ilc.sig (присоединенная ЭЦП, в КриптоАРМ-е) или это так и задумано?по sha1 сверял: encsig.ilc - исходный файл AC5F6444 B51FDA89 75348706 AD550EBA 296B700A извлеченные данные из твоего файла: encsig.ilc_my.file 4D911B61 F2247172 10AAEA8B C7D36A29 FD58F4C0извлеченные данные из файла от КриптоАРМ-а: encsig.ilc.file AC5F6444 B51FDA89 75348706 AD550EBA 296B700A Отредактировано пользователем 9 сентября 2012 г. 19:13:47(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
В подписи: КриптоАРМ: Хеш вложенных данных: [B159764774F570CF9A1FD940127DE281B3B6585E] Твое приложение: Хеш вложенных данных: [E9F5A3425D7E9DD181AD5B3AD10663DC0C0EFA56] Отредактировано пользователем 9 сентября 2012 г. 19:13:18(UTC)
| Причина: Не указана Пользователь Андрей * прикрепил следующие файлы:  в картинках.png (52kb) загружен 71 раз(а).У Вас нет прав для просмотра или загрузки вложений. Попробуйте зарегистрироваться. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,825   Сказал «Спасибо»: 582 раз Поблагодарили: 2311 раз в 1810 постах
|
Цитата:Но если открыть мою подпись и подпись сформированную с помощью КриптоАРМ, то они очень сильно отличаются... 1) чем "открыть"? 2) чем различаются (кроме того участка с подписанными данными, что я привел выше + дополнительным OID-ом КриптоАРМ-а)? Отредактировано пользователем 9 сентября 2012 г. 19:18:07(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close