Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

3 Страницы<123>
Опции
К последнему сообщению К первому непрочитанному
Offline ivan.novikov  
#11 Оставлено : 4 июня 2008 г. 16:49:54(UTC)
ivan.novikov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.05.2008(UTC)
Сообщений: 74
Откуда: Moscow

Решительно не понимаю что делаю не так. Ставлю и RTE и CryptoPro как написано выше. Вот файл реестра: Считыватели и носители не появляются в интерфейсе КриптоПРО....
Код:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers]
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\eToken_PRO32]
"DLL"="etok.dll"
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\eToken_PRO32\Default]
"ATR"=hex:3b,f2,98,00,ff,c1,10,31,fe,55,c8,03,15
"Folders"="CC00"
"Mask"=hex:ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff,ff
"Name"="eToken PRO32"
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\SCARD]
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\SCARD\eToken_PRO16]
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\SCARD\eToken_PRO32]
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyCarriers\SCARD\eToken_PRO32\Default]
"Name"="eToken_PRO32"
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyDevices]
"DefaultPath"="C:\\"
@=""
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyDevices\PCSC]
"DLL"="pcsc.dll"
"Group"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyDevices\PCSC\AKS ifdh 0]
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyDevices\PCSC\AKS ifdh 0\Default]
"Name"="AKS ifdh 0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Cryptography\CurrentVersion\KeyDevices\PCSC\AKS ifdh 1]

Отредактировано пользователем 4 июня 2008 г. 16:50:51(UTC)  | Причина: Не указана

Offline Stein  
#12 Оставлено : 4 июня 2008 г. 22:10:55(UTC)
Stein

Статус: Участник

Группы: Участники
Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

Вы на одной машине пытаетесь поставить? Или на разных не получается?

Что за задача? Могу дать на тестирование свои батнички...
Offline ivan.novikov  
#13 Оставлено : 6 июня 2008 г. 21:39:18(UTC)
ivan.novikov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.05.2008(UTC)
Сообщений: 74
Откуда: Moscow

На одной машине. Все ставлю. Но считыватели и носители не появляются. Дайте, если не сложно, свои файлы.
Почта восемь минус нуль БАРБОС bk.ru
Offline ivan.novikov  
#14 Оставлено : 7 июня 2008 г. 16:26:47(UTC)
ivan.novikov

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.05.2008(UTC)
Сообщений: 74
Откуда: Moscow

Все прекрасно получилось с конфигами, написанными выше не мной. Что не так с моими понять пока времени нету.
Offline Pavluxa  
#15 Оставлено : 1 июля 2008 г. 5:32:54(UTC)
Pavluxa

Статус: Новичок

Группы: Участники
Зарегистрирован: 29.06.2008(UTC)
Сообщений: 3

Народ прошу прощенья за глупый вопрос. Помогите пожалуйста, а то сгорю на сессии!

Проблема в следующем.
В крипто Про 3.0 КС 1
Считыватель - реестр

Если обращаться:
var cont: PChar;
err: string; //название контейнера
hProv: HCRYPTPROV;
begin
err := Edit1.Text;
cont := StrAlloc(length(err) + 1);
StrPCopy(cont, err);
end;
CryptAcquireContext(@hProv, cont, nil, 75, CRYPT_NEWKEYSET);
CryptReleaseContext(hProv, 0);
end;
----вылетает окно "Вставьте чистый ключевой носитель" и кнопки ОК на нем нет
пробовал CryptAcquireContextА и CryptAcquireContextW не помогает. Контейнер все равно не создается.

Объясните как создать контейнер?

За ранее спасибо!
Offline Stein  
#16 Оставлено : 1 июля 2008 г. 12:24:04(UTC)
Stein

Статус: Участник

Группы: Участники
Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

Прямо смотри в примерах sdk:

Код:
//  Для создания нового ключевого контейнера строка второго параметра
//  заменяется на NULL здесь и при следующем вызове функции
//  CryptAcquireContext. 

if(CryptAcquireContext(
   &hCryptProv,               // Дескриптор CSP
   UserName,                  // Имя контейнера 
   NULL,                      // Использование провайдера по умолчанию
   75,         // Тип провайдера
   0))                        // Значения флагов
{
    printf("A crypto context with the %s key container \n", UserName);
    printf("has been acquired.\n\n");
}
else
{ 
//--------------------------------------------------------------------
// Некоторая разновидность ошибок, возникающих при получении контекста. 
// Создание нового контейнера. 

   if(CryptAcquireContext(
      &hCryptProv, 
      UserName, 
      NULL, 
      75, 
      CRYPT_NEWKEYSET)) 
   {
      printf("A new key container has been created.\n");
   }
   else
   {
      HandleError("Could not create a new key container.\n");
    }
} // Конец else
//--------------------------------------------------------------------
// Криптографический контекст с ключевым контейнером доступен. Получение
// имени ключевого контейнера. 
if(CryptGetProvParam(
    hCryptProv,               // Дескриптор CSP
    PP_CONTAINER,             // Получение имени ключевого контейнера
    (BYTE *)szUserName,       // Указатель на имя ключевого контейнера
    &dwUserNameLen,           // Длина имени, ограниченная до 100
    0)) 
{
    printf("A crypto context has been acquired and \n");
    printf("The name on the key container is %s\n\n",szUserName);
}
else
{
    // Ошибка получении имени ключевого контейнера
    HandleError("A context was acquired or created, but\
      an error occurred getting the key container name.\n");
} 

//--------------------------------------------------------------------
// Контекст с ключевым контейнером доступен,
// попытка получения дескриптора ключа обмена. 

if(CryptGetUserKey(
   hCryptProv,                     // Дескриптор CSP
   AT_SIGNATURE,                   // Спецификация ключа
   &hKey))                         // Дескриптор ключа
{
    printf("A signature key is available.\n");
}
else
{
    printf("No signature key is available.\n");
    if(GetLastError() == NTE_NO_KEY) 
    {
    //----------------------------------------------------------------
    // Ошибка в том, что контейнер не содержит ключа.

    // Создание подписанной ключевой пары. 
       printf("The signature key does not exist.\n");
       printf("Create a signature key pair.\n"); 
       if(CryptGenKey(
          hCryptProv,
          AT_SIGNATURE,
          0,
          &hKey)) 
       {
          printf("Created a signature key pair.\n");
       }
       else
       {
          HandleError("Error occurred creating a signature key.\n"); 
       }
    }
    else
    {
        HandleError("An error other than NTE_NO_KEY getting signature\
            key.\n");
    }
} // Конец if

printf("A signature key pair existed, or one was created.\n\n");
CryptDestroyKey(hKey); 

// Следующее, проверка ключа обмена. 
if(CryptGetUserKey(
   hCryptProv,
   AT_KEYEXCHANGE,
   &hKey)) 
{
   printf("An exchange key exists. \n");
}
else
{
     printf("No exchange key is available.\n");
     // Проверка на то, нужно ли что-либо создавать.
     if(GetLastError()==NTE_NO_KEY) 
     { 
       // Создание ключевой пары обмена.
       printf("The exchange key does not exist.\n");
       printf("Attempting to create an exchange key pair.\n");
       if(CryptGenKey(
           hCryptProv,
           AT_KEYEXCHANGE,
           0,
           &hKey)) 
       {
           printf("Exchange key pair created.\n");
       }
       else
       {
          HandleError("Error occurred attempting to create \
             an exchange key.\n");
       }
    }
    else
    {
       HandleError("An error other than NTE_NO_KEY occurred.\n");
     }
}

printf("An exchange key pair existed, or one was created.\n\n");
CryptDestroyKey(hKey); 
CryptReleaseContext(hCryptProv,0);   
Offline Pavluxa  
#17 Оставлено : 4 июля 2008 г. 2:50:32(UTC)
Pavluxa

Статус: Новичок

Группы: Участники
Зарегистрирован: 29.06.2008(UTC)
Сообщений: 3

Спасибо за ответ, но я работаю в делфи!
Делфи отказывается воспринимать значение NULL
может быть есть какая-нибудь альтернатива?

Чем принципиально отличаются типы HCRYPTPROV и PHCRYPTPROV ?

И еще, буду благодарен если подскажете где найти примеры sdk

Отредактировано пользователем 4 июля 2008 г. 2:51:05(UTC)  | Причина: Не указана

Offline Максим Коллегин  
#18 Оставлено : 4 июля 2008 г. 5:22:27(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,374
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Работая в Delphi, не задают вопросов про NULL.
Примеры с sdk - на странице загрузки.
А вообще топик не имеет отношения к вопросу.Shame on you
Знания в базе знаний, поддержка в техподдержке
Offline Stein  
#19 Оставлено : 4 июля 2008 г. 12:19:15(UTC)
Stein

Статус: Участник

Группы: Участники
Зарегистрирован: 25.01.2008(UTC)
Сообщений: 29
Откуда: Moscow

А то, что ты ранее в функции передавал nil, а не NULL, тебя не смущает? =)

PHCRYPTPROV - указатель на дескриптор, а HCRYPTPROV сам дескриптор.

sdk ищи на сайте Крипто Про или залезь на ftp.

А вообще да, не по тебе все это. Вообще можно было бы тему эту закрыть)) Раз уж у нового форума есть такие возможности))
Offline alex_b  
#20 Оставлено : 8 июля 2008 г. 16:13:31(UTC)
alex_b

Статус: Новичок

Группы: Участники
Зарегистрирован: 02.07.2008(UTC)
Сообщений: 6
Мужчина
Откуда: Екатеринбург

По поводу батничков.
У меня в папке Program Files\Crypto Pro\CSP не создается etok.dll и pcsc.dll
При этом все остальные библиотеки есть.
Весь процесс установки - в батнике.
На каком этапе установки они должны добавляться: сразу при установке Crypto Pro, при установке RTE или при развертывание соответствующих .msp?

Отредактировано пользователем 8 июля 2008 г. 16:14:12(UTC)  | Причина: Не указана

Безопасность – это процесс, а не результат. Брюс Шнейер
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
3 Страницы<123>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.