Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.04.2020(UTC) Сообщений: 45  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Андрей, спасибо Вам огромное!!!!!!!!!!!!!!
Ошибка у меня была вот в этом: rgcbToBeSigned[0] = 1; // 1 или 0 вроде ни на что не влияла Это не верная конструкция.
Сейчас все работает!!!!!! Спасибо!!!!!!!!!!!!!!!!!!
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.04.2020(UTC) Сообщений: 45  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Всем добрый день.
Подскажите, как можно сбросить пароль, который закешировался при вызове: CryptSignMessage
Весь код был как описано ранее (подсказано Андреем):
CryptAcquireContextA... CryptAcquireContext(hCSP... CryptGetUserKey... CryptGetKeyParam... pCertContext := CertCreateCertificateContext(X509_ASN_ENCODING, pbCertificate, pdwDataL
Далее вызываю CryptSignMessage
После этого при повторных вызовах, пароль не запрашивается. А как сбросить кеш пароля? Изучая форум и гугл: рекомендуют закрывать контекст CryptAcquireContext
А не закрывая контекст можно сбросить кеш? Может есть какие-либо более "красивые" способы? Может в параметрах CRYPT_SIGN_MESSAGE_PARA можно задавать, чтобы пароль не запоминался?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
А в чём задача держать, не освобождая, но при этом "сбрасывать"? |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.04.2020(UTC) Сообщений: 45  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Когда первый раз выполняется подпись, то до ввода пароля (перед появлением диалогового окна на ввод) проходит где-то секунды две. И как мне кажется это время "на открытие контейнера". Дальнейшая же работа к ключом Etoken происходит мгновенно. Вот мне и казалось, что просто сбросить кеш пароля, не будет приводить к повторному "открытию" контейнера ключа и не будет задержки в эти секунды.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Автор: LONG11  Когда первый раз выполняется подпись, то до ввода пароля (перед появлением диалогового окна на ввод) проходит где-то секунды две. И как мне кажется это время "на открытие контейнера". Дальнейшая же работа к ключом Etoken происходит мгновенно. Вот мне и казалось, что просто сбросить кеш пароля, не будет приводить к повторному "открытию" контейнера ключа и не будет задержки в эти секунды. В строчки между вызовами CryptoAPI функций добавить код с отметками времени и увидеть, куда уходит.. время. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Окно появляется - когда идёт обращение к ЗК. Например, подписываю 1 Гб файл. Никакого окна через 2 сек не будет... и через 10 сек тоже.. только в конце, когда будет непосредственное подписание хеша. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.04.2020(UTC) Сообщений: 45  Откуда: Москва Сказал(а) «Спасибо»: 24 раз
|
Автор: Андрей *  Автор: LONG11  Когда первый раз выполняется подпись, то до ввода пароля (перед появлением диалогового окна на ввод) проходит где-то секунды две. И как мне кажется это время "на открытие контейнера". Дальнейшая же работа к ключом Etoken происходит мгновенно. Вот мне и казалось, что просто сбросить кеш пароля, не будет приводить к повторному "открытию" контейнера ключа и не будет задержки в эти секунды. В строчки между вызовами CryptoAPI функций добавить код с отметками времени и увидеть, куда уходит.. время. Первый раз 18.05.2020 03:17:56:500 CryptAcquireContext получение контекста ----конец 18.05.2020 03:17:57:618 перебор контейнеров ----конец 18.05.2020 03:17:58:448 контекст контейнера ----конец 18.05.2020 03:17:58:889 контекст ключа ----конец Последующие разы 18.05.2020 03:18:09:179 CryptAcquireContext получение контекста ----конец 18.05.2020 03:18:09:668 перебор контейнеров ----конец 18.05.2020 03:18:09:672 контекст контейнера ----конец 18.05.2020 03:18:09:672 контекст ключа ----конец Основное уходит на первичный перебор контейнеров и получение контекста контейнера... Т.е. если я каждый раз буду скидывать контекст контейнера, я буду снова перебирать контейнеры и получать его контекст. Вот эти 2 секунды. Отредактировано пользователем 18 мая 2020 г. 15:29:01(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Автор: LONG11  Т.е. если я каждый раз буду скидывать контекст контейнера, я буду снова перебирать контейнеры и получать его контекст. Вот эти 2 секунды. Скинуть.. чтобы что? забыть его имя? и опять по списку и в каждом искать сертификат? Что мешает запоминать нужные имена контейнеров с нужными сертификатами и обращаться к ним? |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,504   Сказал «Спасибо»: 554 раз Поблагодарили: 2249 раз в 1755 постах
|
Если нужно "ускорение" - то запоминать в своём приложении необходимые данные и без перечислений - обращаться к контейнеру.
Если невозможно запоминать (и токены разные) - то только перечисление каждый раз с поиском нужного сертификата.
p.s. Хранение сертификатов в Личном (и избавление от перечислений контейнеров) - так и не рассматривается? |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close