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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Alex_DotNETAlexAlex_DotNET112358  
#1 Оставлено : 7 августа 2019 г. 14:45:30(UTC)
Alex_DotNETAlexAlex_DotNET112358

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

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

Сказал(а) «Спасибо»: 4 раз
Добрый день!

Как программно определить сертификаты которые на токене?

Например в личном хранилище несколько сертификатов, часть в реестре, часть на токене. Нужно выбрать те, которые на токене.

Спасибо.
Offline Агафьин Сергей  
#2 Оставлено : 8 августа 2019 г. 17:18:37(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: Alex_DotNETAlexAlex_DotNET112358 Перейти к цитате
Добрый день!

Как программно определить сертификаты которые на токене?

Например в личном хранилище несколько сертификатов, часть в реестре, часть на токене. Нужно выбрать те, которые на токене.

Спасибо.


Добрый день.
Если сертификат установлен с привязкой к закрытому ключу, то можно получить описатель этой привязки CertGetCertificateContextProperty (CERT_KEY_PROV_INFO_PROP_ID). В результате получите структуру CRYPT_KEY_PROV_INFO, в которой есть поле pwszContainerName. Это поле определяет, где лежит закрытый ключ. Если он на токене, то в ссылка будет начиинаться со слова "SCARD".
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline Андрей Писарев  
#3 Оставлено : 8 августа 2019 г. 18:36:15(UTC)
Андрей *

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

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

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

Примеры:

Цитата:
\\.\Aktiv Co. ruToken 0\...
\\.\Aktiv Rutoken lite 0\...
SCARD\ETOKEN_JAVA_...
SCARD\MSkey_...
SCARD\rutoken_...
SCARD\rutoken_ecp_...
SCARD\rutoken_lt_...
Техническую поддержку оказываем тут
Наша база знаний
Offline Агафьин Сергей  
#4 Оставлено : 9 августа 2019 г. 12:40:49(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: Андрей Писарев Перейти к цитате
Здравствуйте.

Примеры:

Цитата:
\\.\Aktiv Co. ruToken 0\...
\\.\Aktiv Rutoken lite 0\...
SCARD\ETOKEN_JAVA_...
SCARD\MSkey_...
SCARD\rutoken_...
SCARD\rutoken_ecp_...
SCARD\rutoken_lt_...


Строчек типа \\.\Aktiv ... там быть не может. Только SCARD\
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline Андрей Писарев  
#5 Оставлено : 9 августа 2019 г. 13:42:03(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: Агафьин Сергей Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Здравствуйте.

Примеры:

Цитата:
\\.\Aktiv Co. ruToken 0\...
\\.\Aktiv Rutoken lite 0\...
SCARD\ETOKEN_JAVA_...
SCARD\MSkey_...
SCARD\rutoken_...
SCARD\rutoken_ecp_...
SCARD\rutoken_lt_...


Строчек типа \\.\Aktiv ... там быть не может. Только SCARD\


Да, в указанной функции не будет.

Предположил, что необходимо сертификаты получить, которые на токене (но их нет в хранилище Личное) - можно перечислением контейнеров (PP_ENUMCONTAINERS (используя CRYPT_UNIQUE и CRYPT_FQCN))
и по имени контейнера - "понять", что он на токене, а не на флешке\диске\...
Техническую поддержку оказываем тут
Наша база знаний
Offline Агафьин Сергей  
#6 Оставлено : 9 августа 2019 г. 14:13:26(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: Андрей Писарев Перейти к цитате
Автор: Агафьин Сергей Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Здравствуйте.

Примеры:

Цитата:
\\.\Aktiv Co. ruToken 0\...
\\.\Aktiv Rutoken lite 0\...
SCARD\ETOKEN_JAVA_...
SCARD\MSkey_...
SCARD\rutoken_...
SCARD\rutoken_ecp_...
SCARD\rutoken_lt_...


Строчек типа \\.\Aktiv ... там быть не может. Только SCARD\


Да, в указанной функции не будет.

Предположил, что необходимо сертификаты получить, которые на токене (но их нет в хранилище Личное) - можно перечислением контейнеров (PP_ENUMCONTAINERS (используя CRYPT_UNIQUE и CRYPT_FQCN))
и по имени контейнера - "понять", что он на токене, а не на флешке\диске\...


Это очень сложный путь и немного кривой.
Задача: есть сертификаты в личном, нужно понять, какие относятся к токену.
Очевидное решение: перечислять сертификаты и выбирать те, которые относятся к токену (в ссылке на закрытый ключ SCARD).
Ваше решение: перечислить контейнеры на подключенных токенах, достать из них сертификаты, по этим сертификатам найти, какие из них установлены в хранилище. Фундаментальная проблема: если токен вытащен, способ не работает.
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline Андрей Писарев  
#7 Оставлено : 9 августа 2019 г. 17:09:52(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: Агафьин Сергей Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Автор: Агафьин Сергей Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Здравствуйте.

Примеры:

Цитата:
\\.\Aktiv Co. ruToken 0\...
\\.\Aktiv Rutoken lite 0\...
SCARD\ETOKEN_JAVA_...
SCARD\MSkey_...
SCARD\rutoken_...
SCARD\rutoken_ecp_...
SCARD\rutoken_lt_...


Строчек типа \\.\Aktiv ... там быть не может. Только SCARD\


Да, в указанной функции не будет.

Предположил, что необходимо сертификаты получить, которые на токене (но их нет в хранилище Личное) - можно перечислением контейнеров (PP_ENUMCONTAINERS (используя CRYPT_UNIQUE и CRYPT_FQCN))
и по имени контейнера - "понять", что он на токене, а не на флешке\диске\...


Это очень сложный путь и немного кривой.
Задача: есть сертификаты в личном, нужно понять, какие относятся к токену.
Очевидное решение: перечислять сертификаты и выбирать те, которые относятся к токену (в ссылке на закрытый ключ SCARD).
Ваше решение: перечислить контейнеры на подключенных токенах, достать из них сертификаты, по этим сертификатам найти, какие из них установлены в хранилище. Фундаментальная проблема: если токен вытащен, способ не работает.



Нет, речь про те сертификаты, которые только в контейнерах.
Они не установлены в хранилище.


Техническую поддержку оказываем тут
Наша база знаний
Offline Андрей Писарев  
#8 Оставлено : 9 августа 2019 г. 17:30:06(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Аналогично сделано в js к плагину КриптоПро, сначала строится список установленных сертификатов, а потом идёт опрос контейнеров и вывод тех сертификатов, которые не установлены.
Техническую поддержку оказываем тут
Наша база знаний
Offline Агафьин Сергей  
#9 Оставлено : 9 августа 2019 г. 18:29:02(UTC)
Grey

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

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

Сказал «Спасибо»: 5 раз
Поблагодарили: 215 раз в 174 постах
Автор: Андрей Писарев Перейти к цитате
Аналогично сделано в js к плагину КриптоПро, сначала строится список установленных сертификатов, а потом идёт опрос контейнеров и вывод тех сертификатов, которые не установлены.


Хорошо, еще проще. А если в контейнере нет сертификата? Только в хранилище со ссылкой не закрытый ключ. Перечисление контейнеров и запрос из них сертификатов не приведет ни к чему.
С уважением,
Сергей
Техническую поддержку оказываем здесь.
Наша база знаний.
Offline Андрей Писарев  
#10 Оставлено : 9 августа 2019 г. 20:13:00(UTC)
Андрей *

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

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

Сказал «Спасибо»: 500 раз
Поблагодарили: 2046 раз в 1586 постах
Автор: Агафьин Сергей Перейти к цитате
Автор: Андрей Писарев Перейти к цитате
Аналогично сделано в js к плагину КриптоПро, сначала строится список установленных сертификатов, а потом идёт опрос контейнеров и вывод тех сертификатов, которые не установлены.


Хорошо, еще проще. А если в контейнере нет сертификата? Только в хранилище со ссылкой не закрытый ключ. Перечисление контейнеров и запрос из них сертификатов не приведет ни к чему.


На "нет сертификата" - ничего и не будет.

Есть ИС, которые лезут к контейнерам и именно там "требуют" наличие сертификата.
Как раз для таких ИС и возникают периодически вопросы на форумах.
Именно поэтому и в плагине сделано такой вариант "работы" с сертификатами, верно же?
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.