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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline zaichatki  
#1 Оставлено : 23 ноября 2020 г. 14:33:47(UTC)
zaichatki

Статус: Новичок

Группы: Участники
Зарегистрирован: 03.07.2019(UTC)
Сообщений: 1

Здравствуйте,

При работе через плагин браузера есть возможность сформировать и отфильтровать список сертификатов пользователя через использование CAPICOM_MY_STORE примерно таким кодом:

Код:

let oStore = cadesplugin.CreateObject("CAPICOM.Store");
oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE, CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
let oCertificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);


Здесь отображаются все зарегистрированные личные сертфикаты (+ опциональный фильтр).

Если для для сертификата не вставлен ключевой носитель, то при попытке формирования ЭЦП появляется запрос КриптоПро "Вставьте ключевой носитель".

Для JCSP/JCP почему-то во всех примерах, которые удаётся найти, делается противоположная операция:

Код:

var certList = new ArrayList<X509Certificate>();

KeyStore keyStore = KeyStore.getInstance(keyStoreType, keyStoreProvider);
keyStore.load(null, null);
var aliases = keyStore.aliases();
while (aliases.hasMoreElements()) {
    String alias = aliases.nextElement();
    var cert = (X509Certificate) keyStore.getCertificate(alias);
    certList.add(cert);
}


Пробегаемся по ключевому носителю и собираем все сертификаты.

Такой подход приводит к двум проблемам:

  1. Хотелось бы всё-таки отобразить сертификат даже если ключевой носитель не вставлен
  2. Загрузка сертификата с токена почему-то может происходить с большой задержкой (до 0.5 секунды). И если на токене много ключей, то полный список формируется довольно длительное время


Подскажите, есть ли возможность через интерфейсы, предоставляемые в JCSP/JCP, сформировать список сертификатов пользователя, не обращаясь к ключевому носителю, или хотя бы находить сертификат по имени/отпечатку не перебирая все ключи?



Offline Евгений Афанасьев  
#2 Оставлено : 23 ноября 2020 г. 14:53:12(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,921
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 688 раз в 649 постах
Здравствуйте
Автор: zaichatki Перейти к цитате


  • Хотелось бы всё-таки отобразить сертификат даже если ключевой носитель не вставлен
  • Загрузка сертификата с токена почему-то может происходить с большой задержкой (до 0.5 секунды). И если на токене много ключей, то полный список формируется довольно длительное время


Подскажите, есть ли возможность через интерфейсы, предоставляемые в JCSP/JCP, сформировать список сертификатов пользователя, не обращаясь к ключевому носителю, или хотя бы находить сертификат по имени/отпечатку не перебирая все ключи?


1. "Для JCSP/JCP почему-то во всех примерах, которые удаётся найти, делается противоположная операция" - другой язык, другие интерфейсы и т.д.
2. "если ключевой носитель не вставлен", то и сертификата в доступе нет, так как он берется из контейнера, то есть сначала должен быть подключен токен.
3. Вероятно, издержки модуля поддержки токена, если используется JCP. Какой токен используется и какая версия JCP?
4. "не обращаясь к ключевому носителю" - нет, см. п.1; "находить сертификат по имени/отпечатку" - есть ф. getCertificateAlias(cert) поиска алиаса по сертификату, но она также перебирает все контейнеры и сравнивает сертификаты в них с cert, после чего вернет алиас. В следующих релизах планируется добавить поддержку системных хранилищ My и др. в JCSP.

Отредактировано пользователем 23 ноября 2020 г. 14:54:15(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.