Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Какой функцией в Delphi определить наличие подключенного ключа ЭЦП?
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.03.2022(UTC) Сообщений: 33 Откуда: Краснодарский край
Сказал(а) «Спасибо»: 17 раз
|
Автор: Санчир Момолдаев Автор: Infopol Приветствую!Возникла такая проблема.При старте программы нужно определить наличие подключения ключа ЭЦП если речь про наличие съемных носителей (рутокен и пр) Код:HCRYPTPROV hCryptProv = 0;
if (!CryptAcquireContext(
&hCryptProv,
NULL,
NULL,
PROV_GOST_2012_256,
CRYPT_VERIFYCONTEXT))
{
cout << "Acquire context failed \n";
return 1;
}
...
DWORD dwFlags = CRYPT_FIRST | CRYPT_FQCN | PP_MEDIA_TYPE;
...
while (CryptGetProvParam(hCryptProv, PP_ENUMCONTAINERS, pbContainerName, &cbContainerName, dwFlags))
{
...
dwFlags = CRYPT_NEXT;
}
Си я не знаю.Нужно в Delphi просто функция наличия ключа ЭЦП с проверкой соответствия нужному номеру сертфиката. Код:
function SignKeyFound(NumberCert:string):boolean; //примерно так
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,356 Сказал «Спасибо»: 550 раз Поблагодарили: 2217 раз в 1731 постах
|
Автор: Infopol Автор: Санчир Момолдаев Автор: Infopol Приветствую!Возникла такая проблема.При старте программы нужно определить наличие подключения ключа ЭЦП если речь про наличие съемных носителей (рутокен и пр) Код:HCRYPTPROV hCryptProv = 0;
if (!CryptAcquireContext(
&hCryptProv,
NULL,
NULL,
PROV_GOST_2012_256,
CRYPT_VERIFYCONTEXT))
{
cout << "Acquire context failed \n";
return 1;
}
...
DWORD dwFlags = CRYPT_FIRST | CRYPT_FQCN | PP_MEDIA_TYPE;
...
while (CryptGetProvParam(hCryptProv, PP_ENUMCONTAINERS, pbContainerName, &cbContainerName, dwFlags))
{
...
dwFlags = CRYPT_NEXT;
}
Си я не знаю.Нужно в Delphi просто функция наличия ключа ЭЦП с проверкой соответствия нужному номеру сертфиката. Код:
function SignKeyFound(NumberCert:string):boolean; //примерно так
На Delphi будет тот же код, разве сложно вместо { } написать begin end разве сложно вместо if (!CryptAcquireContext написать if not CryptAcquireContext( резюмируя - задача так и не была до сих пор решена? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.03.2022(UTC) Сообщений: 33 Откуда: Краснодарский край
Сказал(а) «Спасибо»: 17 раз
|
Автор: Андрей * Автор: Infopol Автор: Санчир Момолдаев Автор: Infopol Приветствую!Возникла такая проблема.При старте программы нужно определить наличие подключения ключа ЭЦП если речь про наличие съемных носителей (рутокен и пр) Код:HCRYPTPROV hCryptProv = 0;
if (!CryptAcquireContext(
&hCryptProv,
NULL,
NULL,
PROV_GOST_2012_256,
CRYPT_VERIFYCONTEXT))
{
cout << "Acquire context failed \n";
return 1;
}
...
DWORD dwFlags = CRYPT_FIRST | CRYPT_FQCN | PP_MEDIA_TYPE;
...
while (CryptGetProvParam(hCryptProv, PP_ENUMCONTAINERS, pbContainerName, &cbContainerName, dwFlags))
{
...
dwFlags = CRYPT_NEXT;
}
Си я не знаю.Нужно в Delphi просто функция наличия ключа ЭЦП с проверкой соответствия нужному номеру сертфиката. Код:
function SignKeyFound(NumberCert:string):boolean; //примерно так
На Delphi будет тот же код, разве сложно вместо { } написать begin end разве сложно вместо if (!CryptAcquireContext написать if not CryptAcquireContext( резюмируя - задача так и не была до сих пор решена? Понял,что вам трудно написать код...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,356 Сказал «Спасибо»: 550 раз Поблагодарили: 2217 раз в 1731 постах
|
Автор: Infopol Понял,что вам трудно написать код...
Здесь на форуме всё есть, если прочитать ответы, не только в этой ветке. Задачи "написать код" не было. Более того - перечислены функции и порядок их вызова. |
|
1 пользователь поблагодарил Андрей * за этот пост.
|
nickm оставлено 02.12.2023(UTC)
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,356 Сказал «Спасибо»: 550 раз Поблагодарили: 2217 раз в 1731 постах
|
|
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
Встраивание
»
Какой функцией в Delphi определить наличие подключенного ключа ЭЦП?
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close