Получение списков сущностей, примеры
USB-токены и смарт-карты JaCartaAPI и SDKUSB-токены и смарт-карты JaCarta
При получении списка контейнеров (getContainerList) и автономных сертификатов (getStandaloneCertificateList) есть возможность задать фильтры поиска при помощи передачи аргумента filters. Т.к. структуры имени издателя и субъекта идентичны, то и фильтрация по этим полям также идентична. Для обеих команд фильтры работают идентично, поэтому для примера будет использоваться getStandaloneCertificateList.
Предположим, что на токене 0 есть следующие автономные сертификаты:
| ID | Серийный номер | Имя издателя | Имя субъекта |
|---|---|---|---|
| 0 | 00 a0 | CN = Root C = RU | CN = Root C = RU |
| 1 | 10 a1 b1 | CN = Root C = RU | CN = Intermediate 1 C = EN |
| 2 | 20 a2 b2 | CN = Intermediate 1 C = EN | CN = Intermediate 2 C = RU |
| 3 | 00 a0 | CN = Example Inc. C = EN | CN = Intermediate Example C = RU |
Функция отображения результата:
// Функция отображения результатаfunction printList(text, list) { var result = list.map(function(obj) { return obj.id; });
console.log(text + ' (size: ' + result.length + '): ' + result)}Получение списка без фильтрации
Заголовок раздела «Получение списка без фильтрации»var tokenID = 0; // Идентификатор токенаvar list = [];
// Пример 0list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID }});
printList('Пример 0', list);
// Пример 1list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: {} }});
printList('Пример 1', list);
// ----- Результат -----// Пример 0 (size: 4): 0,1,2,3// Пример 1 (size: 4): 0,1,2,3Получение списка с фильтрацией по серийному номеру
Заголовок раздела «Получение списка с фильтрацией по серийному номеру»var tokenID = 0; // Идентификатор токенаvar list = [];
// Пример 0list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { serialNumber: '00 a0' } }});
printList('Пример 0', list);
// Пример 1list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { serialNumber: '00 A0' } }});
printList('Пример 1', list);
// Пример 2list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { serialNumber: '11' } }});
printList('Пример 2', list);
// ----- Результат -----// Пример 0 (size: 2): 0,3// Пример 1 (size: 2): 0,3// Пример 2 (size: 0):Получение списка с фильтрацией по имени издателя
Заголовок раздела «Получение списка с фильтрацией по имени издателя»var tokenID = 0; // Идентификатор токенаvar list = [];
// Пример 0list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'Root' } }});
printList('Пример 0', list);
// Пример 1list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'CN = Root' } }});
// Пример 2list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'Intermediate 1' } }});
printList('Пример 2', list);
// Пример 3list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'root' } }});
printList('Пример 3', list);
// Пример 4list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'Intermediate' } }});
printList('Пример 4', list);
// Пример 5list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'EN' } }});
printList('Пример 5', list);
// ----- Результат -----// Пример 0 (size: 2): 0,1// Пример 1 (size: 2): 0,1// Пример 2 (size: 1): 2// Пример 3 (size: 0):// Пример 4 (size: 1): 2// Пример 5 (size: 1): 3Получение списка с фильтрацией по имени субъекта
Заголовок раздела «Получение списка с фильтрацией по имени субъекта»var tokenID = 0; // Идентификатор токенаvar list = [];
// Пример 0list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'Root' } }});
printList('Пример 0', list);
// Пример 1list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'CN = Root' } }});
printList('Пример 1', list);
// Пример 2list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'Intermediate 2' } }});
printList('Пример 2', list);
// Пример 3list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'intermediate' } }});
printList('Пример 3', list);
// Пример 4list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'Intermediate' } }});
printList('Пример 4', list);
// Пример 5list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { subjectName: 'C = RU' } }});
printList('Пример 5', list);
// ----- Результат -----// Пример 0 (size: 1): 0// Пример 1 (size: 1): 0// Пример 2 (size: 1): 2// Пример 3 (size: 0):// Пример 4 (size: 3): 1,2,3// Пример 5 (size: 3): 0,2,37.4.5 Получение списка с фильтрацией по нескольким параметрам
var tokenID = 0; // Идентификатор токенаvar list = [];
// Пример 0list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'C = RU', subjectName: 'Intermediate' } }});
printList('Пример 0', list);
// Пример 1list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { issuerName: 'EN', subjectName: 'C = RU' } }});
printList('Пример 1', list);
// Пример 2list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { serialNumber: '00 a0' subjectName: 'C = RU' } }});
printList('Пример 2', list);
// Пример 3list = JCWebClient2.getStandaloneCertificateList({ args: { tokenID: tokenID, filters: { serialNumber: '00 a0' issuerName: 'Example Inc.', subjectName: 'CN = Intermediate' } }});
printList('Пример 3', list);
// ----- Результат -----// Пример 0 (size: 1): 1// Пример 1 (size: 2): 2,3// Пример 2 (size: 2): 0,3// Пример 3 (size: 1): 3
