Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Проблема со связыванием сертификата в хранилище и закрытого ключа
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.02.2013(UTC) Сообщений: 3 
|
Windows 7 x86, КриптоПро CSP 3.6.7363 (Indigo) от 6.12.2012 1) Есть Рутокен с контейнером закрытого ключа с сертификатом. В личное хранилище Windows, сертификат попадает через Certificate Propagation Service. 2) из моего приложения хочу программно проверить, есть ли привязка сертификата к ключу на Рутокене. Делаю это так: - открываю личное хранилище через CertOpenStore - в цикле вызываю CertEnumCertificatesInStore - нахожу там нужный сертификат (CertCompareCertificate) - запрашиваю у него свойство CERT_KEY_PROV_INFO_PROP_ID. - в структуре CRYPT_KEY_PROV_INFO, в поле pwszContainerName лежит " SCARD\rutoken_28d092c1\0C00\35D7", хотя в более ранних версиях КриптоПро CSP 3.6 возвращался полный путь к контейнеру, типа: " \\.\Aktiv Co. ruToken 0\3ede9edf-77a0-418f-9945-f2929d082ec9" Скажите, как сейчас проверить привязку сертификата к ключу, на нужном токене. Спасибо. Отредактировано пользователем 28 февраля 2013 г. 15:49:50(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,518   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
CryptAcquireCertificatePrivateKey ... ? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.02.2013(UTC) Сообщений: 3 
|
Автор: Андрей *  CryptAcquireCertificatePrivateKey ... ? Мне надо определить, что сертификат привязан к контейнеру на конкретном токене. CryptAcquireCertificatePrivateKey() отработает, если сертификат находиться на другом подключеном токене, в реестре и т.п...
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,518   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Автор: PavelAndreevich  Автор: Андрей *  CryptAcquireCertificatePrivateKey ... ? Мне надо определить, что сертификат привязан к контейнеру на конкретном токене. CryptAcquireCertificatePrivateKey() отработает, если сертификат находиться на другом подключеном токене, в реестре и т.п... Цитата:Скажите, как сейчас проверить привязку сертификата к ключу. понял дословно... |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,518   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 28.02.2013(UTC) Сообщений: 3 
|
Автор: Андрей *  http://www.cryptopro.ru/forum2/default.aspx?g=posts&t=2349 csptest -keyset -enum_containers -verifycontext -unique csptest -keyset -enum_containers -verifycontext -unique -fqcn но эти флаги(CRYPT_UNIQUE | CRYPT_FQCN) не возможно передать в функции CertOpenStore/CertEnumCertificatesInStore, а в личном хранилище именно ими перебираются контейнеры
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,518   Сказал «Спасибо»: 555 раз Поблагодарили: 2252 раз в 1757 постах
|
Возможно поможет...
Код:if (enum_containers) {
DWORD length = 0;
char *container_name;
DWORD base_flags =
dwFlags & CRYPT_MACHINE_KEYSET ? CRYPT_MACHINE_KEYSET : 0;
base_flags |= CRYPT_FIRST;
if( unique )
base_flags |= CRYPT_UNIQUE;
if( fqcn )
base_flags |= CRYPT_FQCN;
bResult = UniGetProvParam(hProv, PP_ENUMCONTAINERS, NULL,
&length, base_flags);
container_name = (char*)malloc( length );
if( !container_name )
{
HandleErrorFL ("Error during CryptGetProvParam(PP_ENUMCONTAINERS).\n");
goto bad;
}
while( UniGetProvParam( hProv, PP_ENUMCONTAINERS,
(BYTE*)container_name,
&length, base_flags ) )
{
if( base_flags & CRYPT_UNIQUE )
{
if( strlen( container_name ) > 38
|| strlen( container_name + strlen( container_name ) + 1 )
> 38 )
{
printf( "%38s|\n%76s\n", container_name,
container_name + strlen( container_name ) + 1 );
}
else
printf( "%38s|%38s\n", container_name,
container_name + strlen( container_name ) + 1 );
}
else
printf( "%s\n", container_name );
base_flags &= ~CRYPT_FIRST;
}
free( container_name );
if( GetLastError() != ERROR_NO_MORE_ITEMS )
{
UniReleaseContext (hProv, 0);
HandleErrorFL ("Error during GetProvParam.\n");
goto bad;
}
printf( "OK.\n" );
ret = 1;
bResult = UniReleaseContext (hProv, 0);
Отредактировано пользователем 4 марта 2013 г. 12:39:12(UTC)
| Причина: SPOILER |
|
|
|
|
Форум КриптоПро
»
Устаревшие продукты
»
КриптоПро CSP 3.6
»
Проблема со связыванием сертификата в хранилище и закрытого ключа
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close