При получении списка контейнеров (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)
}

7.4.1 Получение списка без фильтрации

var tokenID = 0; // Идентификатор токена
var list = [];
 
// Пример 0
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID
}
});
 
printList('Пример 0', list);
 
// Пример 1
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {}
}
});
 
printList('Пример 1', list);
 
// ----- Результат -----
// Пример 0 (size: 4): 0,1,2,3
// Пример 1 (size: 4): 0,1,2,3

7.4.2 Получение списка с фильтрацией по серийному номеру

var tokenID = 0; // Идентификатор токена
var list = [];
 
// Пример 0
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
serialNumber: '00 a0'
}
}
});
 
printList('Пример 0', list);
 
// Пример 1
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
serialNumber: '00 A0'
}
}
});
 
printList('Пример 1', list);
 
// Пример 2
list = 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 = [];
 
// Пример 0
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'Root'
}
}
});
 
printList('Пример 0', list);
 
// Пример 1
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'CN = Root'
}
}
});
 
// Пример 2
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'Intermediate 1'
}
}
});
 
printList('Пример 2', list);
 
// Пример 3
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'root'
}
}
});
 
printList('Пример 3', list);
 
// Пример 4
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'Intermediate'
}
}
});
 
printList('Пример 4', list);
 
// Пример 5
list = 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

7.4.4 Получение списка с фильтрацией по имени субъекта

var tokenID = 0; // Идентификатор токена
var list = [];
 
// Пример 0
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
subjectName: 'Root'
}
}
});
 
printList('Пример 0', list);
 
// Пример 1
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
subjectName: 'CN = Root'
}
}
});
 
printList('Пример 1', list);
 
// Пример 2
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
subjectName: 'Intermediate 2'
}
}
});
 
printList('Пример 2', list);
 
// Пример 3
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
subjectName: 'intermediate'
}
}
});
 
printList('Пример 3', list);
 
// Пример 4
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
subjectName: 'Intermediate'
}
}
});
 
printList('Пример 4', list);
 
// Пример 5
list = 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,3

7.4.5 Получение списка с фильтрацией по нескольким параметрам

var tokenID = 0; // Идентификатор токена
var list = [];
 
// Пример 0
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'C = RU',
subjectName: 'Intermediate'
}
}
});
 
printList('Пример 0', list);
 
// Пример 1
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
issuerName: 'EN',
subjectName: 'C = RU'
}
}
});
 
printList('Пример 1', list);
 
// Пример 2
list = JCWebClient2.getStandaloneCertificateList({
args: {
tokenID: tokenID,
filters: {
serialNumber: '00 a0'
subjectName: 'C = RU'
}
}
});
 
printList('Пример 2', list);
 
// Пример 3
list = 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