Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> CryptoAPI in C#, конкретная реализация 
:(
    Опции темы
LexSTV
Дата 31.8.2007, 20:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 20.3.2007

Репутация: нет
Всего: 2



Всем привет, ай нид хелп в пределах этих выходных желательно. (1-2 сентября)
проблева вот в чем:
Нужно реализовать cryptoAPI функцию CryptVerifyDetachedMessageSignature в с# перерыл всесь инет(гугл 4 страницы дал)
нифига нету. Советы типа : юзай MSDN "DllImport", www.pinvoke.net - фтопку, перерыл, поверьте.
о функции в целом тут http://rsdn.ru/article/crypto/usingcryptoapi.xml
о импорте подобной в с# тут http://www.pinvoke.net/default.aspx/crypt3...essageSignature но мне нужна именно Detached проблема вот в чем для ее реализации нужно создать структуру вот такую 

internal struct CRYPT_VERIFY_MESSAGE_PARA
   {
      public int cbSize;
      public uint dwMsgEncodingType;
      public int hCryptProv;
      public IntPtr pfnUnfortunatellyUnsupported;
      public IntPtr pvUnfortunatellyUnsupported;  
   }

последние два параметра (неподдерживаемые) как раз и содержат сертификат которым подписывались данные. Вот у меня вотрос : 
Возможно ли как-то реализовать фунцию CryptVerifyDetachedMessageSignature в C# и как? можно ли как-нить определить поледние два параметра или заставить работать ее без указания сертификата (в чем я лично сомневаюсь, но мало ли) ? 
 

помогите плиз, в ваших руках моя премия smile

Это сообщение отредактировал(а) LexSTV - 1.9.2007, 12:34
PM MAIL   Вверх
LexSTV
Дата 1.9.2007, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 20.3.2007

Репутация: нет
Всего: 2



мдя, надо было спросить, как настраивать принтер, или как менять цвет лейбла, тогда, наверное, ответов было бы больше  smile 
 
ладно, вот, что я нарыл,  поскольку два последних параметра не поддерживаются в сишарпе, 

Цитата(LexSTV @  31.8.2007,  20:32 Найти цитируемый пост)
internal struct CRYPT_VERIFY_MESSAGE_PARA
   {
      public int cbSize;
      public uint dwMsgEncodingType;
      public int hCryptProv;
      public IntPtr pfnUnfortunatellyUnsupported;
      public IntPtr pvUnfortunatellyUnsupported;  
   }


то делаю вывод, что вызов cyriptoAPI функции CryptVerifyDetachedMessageSignature  невозможен, буду колдовать на с++, которым в жизни ничего не писал.... 
Плиз, если кто знает, скажите свое видение на этот вопрос...



Это сообщение отредактировал(а) LexSTV - 1.9.2007, 11:11
PM MAIL   Вверх
LexSTV
Дата 2.9.2007, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 20.3.2007

Репутация: нет
Всего: 2



Тихо сам с собою я веду беседу....
в общем поял я что надо создать в сшарпе аналог колбака в с++ на предпоследний параметр этой струуктуры, который ищет сертификат в хранилище и в последний передать поинтер на наименование этого сертификата, но вот как??? скажите плиз smile
Цитата(LexSTV @  31.8.2007,  20:32 Найти цитируемый пост)
internal struct CRYPT_VERIFY_MESSAGE_PARA
   {
      public int cbSize;
      public uint dwMsgEncodingType;
      public int hCryptProv;
      public IntPtr pfnUnfortunatellyUnsupported;
      public IntPtr pvUnfortunatellyUnsupported;  
   }



вот еще вопрос,( на который я сам скорее всего скоро отвечу) 
как из цифровой подписи вытащить сертификат? (ну имя его или серийный номер) известно, что последние 64 байта в подписи - это и есть зашифрованный хеш, значит остальное - есть сертифика, вот как его опознать - не понятно  smile 

PM MAIL   Вверх
Stepan_Lameroff
Дата 2.9.2007, 09:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 164
Регистрация: 16.12.2006

Репутация: 9
Всего: 14



Посмотрите здесь.

ЗЫ.  smile 

Цитата(LexSTV @  1.9.2007,  11:10 Найти цитируемый пост)
мдя, надо было спросить, как настраивать принтер, или как менять цвет лейбла, тогда, наверное, ответов было бы больше

Хамство еще никогда не приводило к положительным результатам.
Делайте выводы.
PM MAIL   Вверх
LexSTV
Дата 2.9.2007, 10:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 34
Регистрация: 20.3.2007

Репутация: нет
Всего: 2



Спасибо за ссылку, 
хаминть не думал, разве что так, легонько сострить smile
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0483 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.