17.07.2003 12:09:36Крипто Про CSP 2.0 Solaris Ответов: 2
Александр
Уважаемые!
Помогите разобраться со следующей проблемой:
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)
В чем может быть проблема?
Заранее благодарен за ответ.
 
Ответы:
18.07.2003 16:12:50Василий
Дело в том, что при работе CSP на Солярисе всегда используется SILENT-режим. Поэтому необходимо явное указание считывателя, на котором создаётся контейнер.
В том случае, если считыватель один, приведённый код функционирует.
18.07.2003 17:09:38Александр
Спасибо большое.