| ||||
| ||||
Уважаемые! Помогите разобраться со следующей проблемой: OS: Solaris 9 (Sparc, 64-bit) Фрагмент кода: #include <stdio.h> #include "CSP_WinCrypt.h" int main(int argc, char *argv[]) { BOOL res; HCRYPTPROV phProv; res=CPAcquireContext(&phProv,NULL,СRYPT_NEWKEYSET,NULL); if(!res) { printf("Error: "); switch(GetLastError()){ /* обработка кода ошибки*/ . . . } return (1); } return (0); } Компилируется без проблем, но при выполнении получаю ошибку (-2146893802) То же самое происходит и при попытке выполнения бинарников из поставки (как без перекомпиляции, так и после нее). Если использовать в качестве значения аргумента dwFlags 0, то возвращается NTE_BAD_KEYSET. В случае использвания занчения CRYPT_NEWKEYSET- возврат (-2146893795) В чем может быть проблема? Заранее благодарен за ответ. | ||||
Ответы: | ||||
| ||||
Дело в том, что при работе CSP на Солярисе всегда используется SILENT-режим. Поэтому необходимо явное указание считывателя, на котором создаётся контейнер. В том случае, если считыватель один, приведённый код функционирует. | ||||
| ||||
Спасибо большое. | ||||