Статус: Участник
Группы: Участники
Зарегистрирован: 31.07.2012(UTC) Сообщений: 23 Откуда: Москва Сказал «Спасибо»: 5 раз
|
Здравствуйте, пытаюсь искать сертификат по subjectName, сертификат не находится: function openStore(storeLocation, storeName, openMode){ var that = this, capicomStore = that.createObject("CAPICOM.Store"); capicomStore.Open(storeLocation, storeName, openMode); return capicomStore; }; findInUserStore = function(subjectName){ var that = this, certStore; try{ certStore = openStore.call(that, 2 /*CAPICOM_CURRENT_USER_STORE*/, "My" /*CAPICOM_MY_STORE*/, 2 /*CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED*/ ); if (subjectName) return certStore.Certificates.Find(1 /*CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME*/, subjectName); else return certStore.Certificates; } finally{ if (certStore && certStore.Close) certStore.Close(); } }; Объект хранилища создается, по thumbprint поиск в нем работает, а по subject name нет. Всего в коллекции certStore.Certificates 10 элементов, не пустая. Тут сказано, что поиск по subject name должен работать по полному или частичному вхождению. Но я указываю тупо "CN=" в качестве строки поиска, результат нулевой. Хотя в хранилище есть сертификаты, subject name которых начинается именно так. Есть какая-то хитрость? OS: Windows 7x64 Browser: Chrome CSP: 3.6
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,732 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Автор: sedovav Объект хранилища создается, по thumbprint поиск в нем работает, а по subject name нет. Всего в коллекции certStore.Certificates 10 элементов, не пустая. Тут сказано, что поиск по subject name должен работать по полному или частичному вхождению. Но я указываю тупо "CN=" в качестве строки поиска, результат нулевой. Хотя в хранилище есть сертификаты, subject name которых начинается именно так. Есть какая-то хитрость? Хитрости нет. Не надо указывать "CN=" - это не часть имени, а часть его строкового представления, которое использует окно показа сертификатов. Ищите по тому, что находится справа от "=". |
|
1 пользователь поблагодарил Кирилл Соболев за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.07.2012(UTC) Сообщений: 23 Откуда: Москва Сказал «Спасибо»: 5 раз
|
Поправьте меня, если я что-то путаю, но свойство SubjectName X509-сертификата может содержать что-то вроде "CN = Ivanov Ivan Ivanovich OU = Buhgalteria O = OOO "Test 1" L = Moscow C = RU E = iivanov@test1.ru", т.е. набор ключ=значение. Мне почему-то казалось, что метод Find сравнивает значение этого поля у сертификатов с переданным значением. Отредактировано пользователем 11 марта 2014 г. 17:19:37(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 22.01.2008(UTC) Сообщений: 671 Откуда: Йошкар-Ола Сказал «Спасибо»: 3 раз Поблагодарили: 93 раз в 67 постах
|
На самом деле "subjectName" состоит не из одной строки вида "CN=, O= etc.", а из набора пар: идентификатор части имени и значения части имени. То есть "CN=Вася Пупкин" на самом деле состоит из идентификатора (OID) обозначающего "common name" и собственно значения этого имени. Самой строки, по которой вы пытаетесь искать нет - она придумана искуственно для людей. Так и для всех остальных частей имени. Ищите информацию по "relative distinguished name" (RDN). Отредактировано пользователем 11 марта 2014 г. 17:28:42(UTC)
| Причина: Не указана |
С уважением, Юрий Строжевский |
1 пользователь поблагодарил Юрий за этот пост.
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 31.07.2012(UTC) Сообщений: 23 Откуда: Москва Сказал «Спасибо»: 5 раз
|
Понял. Выходит, поиск по subject name - это не очень точный поиск, раз нельзя указать полный набор OID/значение в качестве критерия поиска. Лучше использовать thumbprint для идентификации сертификата для создания ЭЦП. Смутил меня пример из хелпа - http://cpdn.cryptopro.ru...ples-sign-detached.html. В отличие от него демо-страница с Crypto Pro browser plug-in использует именно поиск по отпечатку.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close