При получении списка контейнеров (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 = [];
// Пример 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
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):
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
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
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