mirror of
https://github.com/crypto-pro-web/crypto-pro-js.git
synced 2025-04-18 19:43:12 +03:00
48 lines
1.6 KiB
TypeScript
48 lines
1.6 KiB
TypeScript
import { _afterPluginsLoaded } from '../../helpers/_afterPluginsLoaded';
|
|
import { _extractMeaningfulErrorMessage } from '../../helpers/_extractMeaningfulErrorMessage';
|
|
import { __cadesAsyncToken__, _generateCadesFn } from '../../helpers/_generateCadesFn';
|
|
import { Certificate } from './certificate';
|
|
|
|
/**
|
|
* Возвращает ОИД'ы сертификата
|
|
*
|
|
* @returns список ОИД'ов
|
|
*/
|
|
export const getExtendedKeyUsage = _afterPluginsLoaded(function (): string[] {
|
|
const cadesCertificate = (this as Certificate)._cadesCertificate;
|
|
|
|
return eval(
|
|
_generateCadesFn(function getExtendedKeyUsage(): string[] {
|
|
const OIDS: string[] = [];
|
|
let count: any;
|
|
|
|
try {
|
|
count = __cadesAsyncToken__ + cadesCertificate.ExtendedKeyUsage();
|
|
count = __cadesAsyncToken__ + count.EKUs;
|
|
count = __cadesAsyncToken__ + count.Count;
|
|
|
|
if (count > 0) {
|
|
while (count > 0) {
|
|
let cadesExtendedKeyUsage;
|
|
|
|
cadesExtendedKeyUsage = __cadesAsyncToken__ + cadesCertificate.ExtendedKeyUsage();
|
|
cadesExtendedKeyUsage = __cadesAsyncToken__ + cadesExtendedKeyUsage.EKUs;
|
|
cadesExtendedKeyUsage = __cadesAsyncToken__ + cadesExtendedKeyUsage.Item(count);
|
|
cadesExtendedKeyUsage = __cadesAsyncToken__ + cadesExtendedKeyUsage.OID;
|
|
|
|
OIDS.push(cadesExtendedKeyUsage);
|
|
|
|
count--;
|
|
}
|
|
}
|
|
} catch (error) {
|
|
console.error(error);
|
|
|
|
throw new Error(_extractMeaningfulErrorMessage(error) || "Ошибка при получении ОИД'ов");
|
|
}
|
|
|
|
return OIDS;
|
|
}),
|
|
);
|
|
});
|