AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.07.2008, 20:22   #21  
IvanOFF is offline
IvanOFF
MCTS
MCBMSS
 
65 / 87 (3) ++++
Регистрация: 22.09.2005
Адрес: Москва
Цитата:
Сообщение от AndyD Посмотреть сообщение
Класс рассчитывает hash-суммы на основе алгоритмов MD2, MD4, MD5, SHA. В реализации используется CryptAPI, входящее в состав Windows.
Здравствуйте!
Использую Ваш класс hash для шифрования строки. На моей машине с WinXP все шифруется нормально. Заметил, что при запуске клиента аксапты на сервере (проверял на 2-х серверах - Windows Server 2000 SP4 и Windows Server 2003 SP2) строка не шифруется из-за того, что метод acquireContext() класса hash отрабатывает по-разному на Windows XP и на сервере (пока это лишь предположение, что проблема в операционной системе). Текст метода:

X++:
#define.PROV_RSA_FULL(1)
#define.CRYPT_NEWKEYSET(0x00000008)
private void AcquireContext()
{
    DLLFunction _CryptAcquireContext = new DLLFunction(_dll, "CryptAcquireContextA");
    Binary      prov = new Binary(4);
    ;
    _CryptAcquireContext.returns(ExtTypes::DWord);
    _CryptAcquireContext.arg(ExtTypes::Pointer, ExtTypes::DWord, ExtTypes::DWord,
                                ExtTypes::DWord, ExtTypes::DWord);
    prov = new Binary(4);
    if (!_CryptAcquireContext.call(prov, 0, 0, #PROV_RSA_FULL, 0))
        _prov = 0;
    else
        _prov = prov.dWord(0);
}
На сервере _CryptAcquireContext.call(prov, 0, 0, #PROV_RSA_FULL, 0) возвращает false, на моем WinXP - true.

На msdn нашел описание функции CryptAcquireContext:
CryptAcquireContext - The CryptAcquireContext function is used to acquire a handle to a specified key container in a specified cryptographic service provider (CSP). The phProv parameter receives the handle to the specified key container. You can use this handle to call other API functions.

В чем может быть проблема? Сначала думал, что, вероятно, на сервере не запущен какой-то процесс. Но вроде не в этом дело.
Буду благодарен, если выскажете идеи на этот счет.
Теги
шифрование

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Нужно срочно дописать запрос помогите CRASH_505 DAX: Программирование 3 09.09.2008 10:49
помогите с DLL ZhanR DAX: Программирование 2 13.09.2006 12:31
Помогите с запросом.. DarkBear DAX: Программирование 2 15.08.2005 13:38
Помогите найти доку vitart DAX: Администрирование 18 03.07.2003 16:10
Ребята плиз помогите! Данные! niksa DAX: Программирование 6 17.12.2002 19:16

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:04.