При получении списка контейнеров (getContainerList) и автономных сертификатов (getStandaloneCertificateList) есть возможность задать фильтры поиска при помощи передачи аргумента filters. Т.к. структуры имени издателя и субъекта идентичны, то и фильтрация по этим полям также идентична. Для обеих команд фильтры работают идентично, поэтому для примера будет использоваться getStandaloneCertificateList.
Предположим, что на токене 0 есть следующие автономные сертификаты:
ID | Серийный номер | Имя издателя | Имя субъекта |
|---|---|---|---|
0 | 00 a0 | CN = Root | CN = Root |
1 | 10 a1 b1 | CN = Root | CN = Intermediate 1 |
2 | 20 a2 b2 | CN = Intermediate 1 | CN = Intermediate 2 |
3 | 00 a0 | CN = Example Inc. | CN = Intermediate Example |
Функция отображения результата:
// Функция отображения результатаfunction printList(text, list) { var result = list.map(function(obj) { return obj.id; }); console.log(text + ' (size: ' + result.length + '): ' + result)}7.4.1 Получение списка без фильтрации
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,37.4.2 Получение списка с фильтрацией по серийному номеру
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):7.4.3 Получение списка с фильтрацией по имени издателя
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): 37.4.4 Получение списка с фильтрацией по имени субъекта
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