Статус: Новичок
Группы: Участники
Зарегистрирован: 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);
}
Пробегаемся по ключевому носителю и собираем все сертификаты. Такой подход приводит к двум проблемам:
- Хотелось бы всё-таки отобразить сертификат даже если ключевой носитель не вставлен
- Загрузка сертификата с токена почему-то может происходить с большой задержкой (до 0.5 секунды). И если на токене много ключей, то полный список формируется довольно длительное время
Подскажите, есть ли возможность через интерфейсы, предоставляемые в JCSP/JCP, сформировать список сертификатов пользователя, не обращаясь к ключевому носителю, или хотя бы находить сертификат по имени/отпечатку не перебирая все ключи?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,006  Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 715 раз в 675 постах
|
Здравствуйте Автор: 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)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close