Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

5 Страницы«<2345>
Опции
К последнему сообщению К первому непрочитанному
Offline Андрей *  
#31 Оставлено : 21 апреля 2020 г. 16:25:58(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
...
Техническую поддержку оказываем тут
Наша база знаний
Offline LONG11  
#32 Оставлено : 21 апреля 2020 г. 18:48:47(UTC)
LONG11

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.04.2020(UTC)
Сообщений: 45
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 24 раз
Андрей, спасибо Вам огромное!!!!!!!!!!!!!!

Ошибка у меня была вот в этом:
rgcbToBeSigned[0] = 1; // 1 или 0 вроде ни на что не влияла
Это не верная конструкция.

Сейчас все работает!!!!!!
Спасибо!!!!!!!!!!!!!!!!!!
Offline LONG11  
#33 Оставлено : 18 мая 2020 г. 12:17:33(UTC)
LONG11

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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 можно задавать, чтобы пароль не запоминался?
Offline Андрей *  
#34 Оставлено : 18 мая 2020 г. 12:26:24(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
А в чём задача держать, не освобождая, но при этом "сбрасывать"?
Техническую поддержку оказываем тут
Наша база знаний
Offline LONG11  
#35 Оставлено : 18 мая 2020 г. 12:37:45(UTC)
LONG11

Статус: Активный участник

Группы: Участники
Зарегистрирован: 05.04.2020(UTC)
Сообщений: 45
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 24 раз
Когда первый раз выполняется подпись, то до ввода пароля (перед появлением диалогового окна на ввод) проходит где-то секунды две. И как мне кажется это время "на открытие контейнера". Дальнейшая же работа к ключом Etoken происходит мгновенно. Вот мне и казалось, что просто сбросить кеш пароля, не будет приводить к повторному "открытию" контейнера ключа и не будет задержки в эти секунды.
Offline Андрей *  
#36 Оставлено : 18 мая 2020 г. 12:53:26(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: LONG11 Перейти к цитате
Когда первый раз выполняется подпись, то до ввода пароля (перед появлением диалогового окна на ввод) проходит где-то секунды две. И как мне кажется это время "на открытие контейнера". Дальнейшая же работа к ключом Etoken происходит мгновенно. Вот мне и казалось, что просто сбросить кеш пароля, не будет приводить к повторному "открытию" контейнера ключа и не будет задержки в эти секунды.


В строчки между вызовами CryptoAPI функций добавить код с отметками времени и увидеть, куда уходит.. время.
Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#37 Оставлено : 18 мая 2020 г. 12:54:58(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Окно появляется - когда идёт обращение к ЗК.
Например, подписываю 1 Гб файл.
Никакого окна через 2 сек не будет... и через 10 сек тоже..
только в конце, когда будет непосредственное подписание хеша.
Техническую поддержку оказываем тут
Наша база знаний
Offline LONG11  
#38 Оставлено : 18 мая 2020 г. 15:27:02(UTC)
LONG11

Статус: Активный участник

Группы: Участники
Зарегистрирован: 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)  | Причина: Не указана

Offline Андрей *  
#39 Оставлено : 18 мая 2020 г. 16:00:54(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: LONG11 Перейти к цитате

Т.е. если я каждый раз буду скидывать контекст контейнера, я буду снова перебирать контейнеры и получать его контекст. Вот эти 2 секунды.


Скинуть.. чтобы что? забыть его имя? и опять по списку и в каждом искать сертификат?

Что мешает запоминать нужные имена контейнеров с нужными сертификатами и обращаться к ним?





Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей *  
#40 Оставлено : 18 мая 2020 г. 16:10:56(UTC)
Андрей *

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,691
Мужчина
Российская Федерация

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Если нужно "ускорение" - то запоминать в своём приложении необходимые данные и без перечислений - обращаться к контейнеру.

Если невозможно запоминать (и токены разные) - то только перечисление каждый раз с поиском нужного сертификата.

p.s.
Хранение сертификатов в Личном (и избавление от перечислений контейнеров) - так и не рассматривается?
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
5 Страницы«<2345>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.