28.06.2002 10:40:56Сохранение пароля Ответов: 3
Valentin
Скажите пожалуйста, где сохраняется пороль, когда я выбираю "Save password" при вводе пароля на доступ к ключевому носителю (в частности дискете) и как это сделать программно (установить или запретить такую опцию)?

Спасибо.
 
Ответы:
28.06.2002 18:32:38Александр
В версии 1.1 пароль сохраняется в ключе реестра REG_SZ: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\SID\KeyDevices\softpasswd запретить снимать или удалять эту опцию нельзя. Можно насильно удалять пароль после его ввода, если Вы хотите запретить сохранение пароля, выход конечно не очень хороший. Для того чтобы однократно снять флаг можно воспользоваться контрольной панелью "Настроить носитель по умолчанию"
В версии 1.2(2.0) пароль храниться для каждого ключа отдельно. Запретить сохранение пароля в окне CSP то же никак нельзя, но можно сделать собственное окно ввода пароля без возможности сохранения пароля в реестре. Для этого после открытия контейнера надо установить пароль (введенный в Вашем окне) функцией CryptSetProvParam c PP_KEYEXCHANGE_PIN.
28.06.2002 19:00:52Valentin
Меня интересует именно как сделать так, чтобы если пользователь при вводе пароля поставил флаг его сохранения, то как я могу программно (в версии 1.2) сделать чтобы в следующий раз диалог опять появлялся. Т.е. в нашем ПО должна быть такой сервис, как сбросить этот флаг. А то получится, что если пользователь один раз нажал этот флаг то больше он никогда не сможет изменить своего решения не вводить пароль.
Я не могу перекрыть ваш интерфейс (хотя очень бы хотелось, и может это и можно?) т.к. я использую MSSOAP которому на входе я указываю имя сертификата в персональном хранилище:
soapClient->ConnectorProperty["SSLClientCertificateName"] = "Valentin";
MSSOAP сам открывает провайдер и я не могу указать PP_KEYEXCHANGE_PIN ;( или есть такая возможность?

Спасибо.
28.06.2002 19:28:53Александр
Сброс всех запомненных в реестре паролей есть в Контрольной панели: Сервис / Удалить запомненные пароли. Пароли в 1.2 хранятся в REG_SZ: HKEY_LOCAL_MACHINE\SOFTWARE\Crypto Pro\Settings\Users\<SID>\KeyDevices\passwords\<media>\<container>\passwd, где SID - SID текущего пользователя, <media> тип носителя, <container> - имя контейнера.