Jump to content
Коршунов Дмитрий

Как выгрузить сертификат из контейнера ключей без запроса пароля (пина)

Recommended Posts

Имеется контейнер ключей с установленным паролем.

При работе через ViPNET CSP (csp_settings_app.exe), есть возможность через свойства контейнера посмотреть сертификат. При этом никаких запросов пароля не происходит!

Подскажите, как программно выгрузить сертификат из контейнера без запроса пароля. Пытаюсь это сделать через CryptGetKeyParam c параметром KP_CERTIFICATE. Однако вызов этой функции требует декриптор ключа. Его получение через функцию CryptGetUserKey приводит к запросу пароля.

 

Share this post


Link to post
Share on other sites

Делаете все правильно:

CryptAcquireContext()

CryptGetUserKey(AT_SIGNTAURE) | CryptGetUserKey(AT_KEYEXCHNAGE)

GetKeyParam(KP_CERTFICATE)

С какого носителя забираете сертификат? Какой CSP установлен?

Share this post


Link to post
Share on other sites

Версия VipNeT CSP -  4.2 (2.36190)

Контейнер ключей расположен на USB "флешке" и зарегистрирован для CSP с помощью кнопки <Добавить контейнер>,

При получении списка контейнеров виден как h:/infotecs/containers/abn_0cf8.key

Функция CryptGetProvParam с параметром PP_CONTAINER возвращает пусто.

Функция CryptGetProvParam с параметром PP_UNIQWUE_CONTAINER тоже возвращает пусто.

Как я и писал, вызов функции CryptGetUserKey(AT_KEYEXCHNAGE) приводит к появлению окна запроса пароля (вложил картинку). Это наверное правильно - я получаю доступ к контейнеру ключей. Но как получить доступ без пароля к публичному ключу. Как это делает сам CSP, отображая сертификат?

Вызов CryptExportPublicKeyInfo тоже приводит к запросу пароля.

Если открыть контейнер с флагом CRYPT_SILENT получаю ошибку: Поставщик не смог выполнить действие, поскольку контекст был получен как "тихий".

 

pwd.jpg

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site, you agree to our Terms of Use.