@astral/features 3.168.3 → 3.169.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.d.ts +1 -1
- package/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.js +1 -1
- package/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts +1 -1
- package/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.js +1 -1
- package/cryproPro/components/CryptoProProvider/CryptoProProvider.d.ts +1 -1
- package/cryproPro/components/CryptoProProvider/CryptoProProvider.js +1 -1
- package/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.d.ts +5 -5
- package/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.js +5 -5
- package/cryproPro/services/CryptoProSignService/CryptoProSignService.d.ts +5 -5
- package/cryproPro/services/CryptoProSignService/CryptoProSignService.js +5 -5
- package/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.d.ts +8 -8
- package/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.js +8 -8
- package/cryproPro/stores/CryptoProStore/CryptoProStore.d.ts +18 -18
- package/cryproPro/stores/CryptoProStore/CryptoProStore.js +18 -18
- package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.d.ts +1 -1
- package/node/cryproPro/components/CryptoProCertAutocomplete/CryptoProCertAutocomplete.js +1 -1
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts +1 -1
- package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.js +1 -1
- package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.d.ts +1 -1
- package/node/cryproPro/components/CryptoProProvider/CryptoProProvider.js +1 -1
- package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.d.ts +5 -5
- package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.js +5 -5
- package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.d.ts +5 -5
- package/node/cryproPro/services/CryptoProSignService/CryptoProSignService.js +5 -5
- package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.d.ts +8 -8
- package/node/cryproPro/services/WorkspaceSetupService/WorkspaceSetupService.js +8 -8
- package/node/cryproPro/stores/CryptoProStore/CryptoProStore.d.ts +18 -18
- package/node/cryproPro/stores/CryptoProStore/CryptoProStore.js +18 -18
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Certificate } from '@astral/cryptopro-cades';
|
|
2
2
|
import { type AutocompleteProps } from '@astral/ui';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Autocomplete с сертификатами
|
|
5
5
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
6
6
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
7
7
|
*/
|
|
@@ -21,7 +21,7 @@ const CertificatesOptions = (disabled = false) => (_a, params, meta) => {
|
|
|
21
21
|
};
|
|
22
22
|
const defaultGetOptionLabel = (option) => option.subject.commonName;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Autocomplete с сертификатами
|
|
25
25
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
26
26
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
27
27
|
*/
|
package/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Certificate } from '@astral/cryptopro-cades';
|
|
|
2
2
|
import { type AutocompleteProps, type WithFormFieldProps } from '@astral/ui';
|
|
3
3
|
export type CryptoProCertFormAutocompleteProps<Multiple extends boolean = false, DisableClearable extends boolean = false, FreeSolo extends boolean = false> = WithFormFieldProps<AutocompleteProps<Certificate, Multiple, DisableClearable, FreeSolo>, any>;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Autocomplete с сертификатами для формы
|
|
6
6
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
7
7
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
8
8
|
*/
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useFormController, useFormFieldErrorProps, } from '@astral/ui';
|
|
3
3
|
import { CryptoProCertAutocomplete } from '../CryptoProCertAutocomplete';
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Autocomplete с сертификатами для формы
|
|
6
6
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
7
7
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
8
8
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type PropsWithChildren } from 'react';
|
|
2
2
|
import { type CryptoProStore } from '../../stores/CryptoProStore';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Провайдер, который в случае отсутствия или неактивности
|
|
5
5
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
6
6
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
7
7
|
* КриптоПро browser plug-in или отсутствия КриптоПро провайдера на
|
|
@@ -3,7 +3,7 @@ import { observer } from 'mobx-react-lite';
|
|
|
3
3
|
import { Global } from '@astral/ui';
|
|
4
4
|
import { SetupCryptoProWorkspaceModal } from '../SetupCryptoProWorkspaceModal';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Провайдер, который в случае отсутствия или неактивности
|
|
7
7
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
8
8
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
9
9
|
* КриптоПро browser plug-in или отсутствия КриптоПро провайдера на
|
|
@@ -8,24 +8,24 @@ export type FormatedCertificate = {
|
|
|
8
8
|
expires: string | null;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Сервис для сертификатов КриптоПро
|
|
12
12
|
* */
|
|
13
13
|
export declare class CryptoProCertificateService {
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Метод получения списка сертификатов
|
|
16
16
|
* @param resetCache - сбросить кэш и произвести повторный поиск сертификатов
|
|
17
17
|
* */
|
|
18
18
|
getCertificateList: (resetCache?: boolean) => Promise<Certificate[]>;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Метод получения сертификата по skid
|
|
21
21
|
* */
|
|
22
22
|
getCertificateBySkid: (skid: string, certificates?: Certificate[]) => Certificate | Promise<Certificate> | undefined;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
25
25
|
* */
|
|
26
26
|
filterCertificateList: (certificates: Certificate[], certificateSelectors?: string[]) => Certificate[];
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
29
29
|
* */
|
|
30
30
|
formatCertificateList: (certificates: Certificate[]) => FormatedCertificate[];
|
|
31
31
|
}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { STORE_TYPE, findCertificateBySkid, getCertificates, } from '@astral/cryptopro-cades';
|
|
2
2
|
import { getCertificateExpiresDate, getCertificateOwnerShortName, getCertificateType, } from './utils';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Сервис для сертификатов КриптоПро
|
|
5
5
|
* */
|
|
6
6
|
export class CryptoProCertificateService {
|
|
7
7
|
constructor() {
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Метод получения списка сертификатов
|
|
10
10
|
* @param resetCache - сбросить кэш и произвести повторный поиск сертификатов
|
|
11
11
|
* */
|
|
12
12
|
this.getCertificateList = (resetCache) => {
|
|
13
13
|
return getCertificates(STORE_TYPE.ALL, resetCache);
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Метод получения сертификата по skid
|
|
17
17
|
* */
|
|
18
18
|
this.getCertificateBySkid = (skid, certificates) => {
|
|
19
19
|
return (certificates === null || certificates === void 0 ? void 0 : certificates.length)
|
|
@@ -21,7 +21,7 @@ export class CryptoProCertificateService {
|
|
|
21
21
|
: findCertificateBySkid(skid);
|
|
22
22
|
};
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
25
25
|
* */
|
|
26
26
|
this.filterCertificateList = (certificates, certificateSelectors) => {
|
|
27
27
|
return certificates.filter((certificate) => {
|
|
@@ -40,7 +40,7 @@ export class CryptoProCertificateService {
|
|
|
40
40
|
});
|
|
41
41
|
};
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
43
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
44
44
|
* */
|
|
45
45
|
this.formatCertificateList = (certificates) => {
|
|
46
46
|
return certificates.map((certificate) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type CADESCOM_XML_SIGNATURE_TYPE, type Certificate } from '@astral/cryptopro-cades';
|
|
2
2
|
import { type FileData } from '../../types';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Сервис для методов подписания КриптоПро
|
|
5
5
|
* */
|
|
6
6
|
export declare class CryptoProSignService {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Метод подписания в формате CMS
|
|
9
9
|
* @param certificate сертификат пользователя
|
|
10
10
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
11
11
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -13,21 +13,21 @@ export declare class CryptoProSignService {
|
|
|
13
13
|
* */
|
|
14
14
|
signCms: (certificate: Certificate, fileData: FileData, detach?: boolean, includeCertChain?: boolean) => Promise<string>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
17
17
|
* @param certificate сертификат пользователя
|
|
18
18
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
19
19
|
* @param includeCertChain включать в результат всю цепочку?
|
|
20
20
|
* */
|
|
21
21
|
signHashCms: (certificate: Certificate, fileData: FileData, includeCertChain?: boolean) => Promise<string>;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
24
24
|
* @param certificate сертификат пользователя
|
|
25
25
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
26
26
|
* @param xmlSignatureType тип xml подписи
|
|
27
27
|
* */
|
|
28
28
|
signXmlCms: (certificate: Certificate, fileData: FileData, xmlSignatureType: CADESCOM_XML_SIGNATURE_TYPE) => Promise<string>;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Метод расшифровки данных
|
|
31
31
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
32
32
|
* */
|
|
33
33
|
decryptCms: (fileData: FileData) => Promise<string>;
|
|
@@ -9,12 +9,12 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
9
9
|
};
|
|
10
10
|
import { decrypt, sign, signHash, signXml, } from '@astral/cryptopro-cades';
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Сервис для методов подписания КриптоПро
|
|
13
13
|
* */
|
|
14
14
|
export class CryptoProSignService {
|
|
15
15
|
constructor() {
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Метод подписания в формате CMS
|
|
18
18
|
* @param certificate сертификат пользователя
|
|
19
19
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
20
20
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -24,7 +24,7 @@ export class CryptoProSignService {
|
|
|
24
24
|
return sign(certificate, fileData, detach, includeCertChain);
|
|
25
25
|
});
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
28
28
|
* @param certificate сертификат пользователя
|
|
29
29
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
30
30
|
* @param includeCertChain включать в результат всю цепочку?
|
|
@@ -33,7 +33,7 @@ export class CryptoProSignService {
|
|
|
33
33
|
return signHash(certificate, fileData, includeCertChain);
|
|
34
34
|
});
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
37
37
|
* @param certificate сертификат пользователя
|
|
38
38
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
39
39
|
* @param xmlSignatureType тип xml подписи
|
|
@@ -42,7 +42,7 @@ export class CryptoProSignService {
|
|
|
42
42
|
return signXml(certificate, fileData, xmlSignatureType);
|
|
43
43
|
});
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Метод расшифровки данных
|
|
46
46
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
47
47
|
* */
|
|
48
48
|
this.decryptCms = (fileData) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -5,37 +5,37 @@ export type CheckWorkspace = {
|
|
|
5
5
|
hasErrors: boolean;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Сервис для настройки рабочего места
|
|
9
9
|
* */
|
|
10
10
|
export declare class WorkspaceSetupService {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Флаг установки плагина КриптоПро
|
|
13
13
|
* */
|
|
14
14
|
isPluginInstalled: boolean;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Версия криптопровайдера КриптоПро
|
|
17
17
|
* */
|
|
18
18
|
cspVersion: string | null;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Флаг наличия ошибок
|
|
21
21
|
* */
|
|
22
22
|
hasErrors: boolean;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Флаг установки криптопровайдера КриптоПро
|
|
25
25
|
* */
|
|
26
26
|
private hasCryptoProvider;
|
|
27
27
|
private static instance;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Флаг выполнения проверки рабочего места
|
|
30
30
|
* */
|
|
31
31
|
isLoading: boolean;
|
|
32
32
|
constructor();
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Метод проверки состояния рабочего места
|
|
35
35
|
* */
|
|
36
36
|
checkWorkspace: () => Promise<CheckWorkspace>;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Метод сброса ошибок
|
|
39
39
|
* */
|
|
40
40
|
resetErrors: () => void;
|
|
41
41
|
}
|
|
@@ -11,32 +11,32 @@ import { notify } from '@astral/ui';
|
|
|
11
11
|
import { getSystemInfo, } from '@astral/cryptopro-cades';
|
|
12
12
|
import { CRYPTO_PROVIDER_NOT_FOUND_CODE, PLUGIN_NOT_INITIALIZED_CODE, PLUGIN_NOT_INSTALLED_CODE, } from '../../constants';
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Сервис для настройки рабочего места
|
|
15
15
|
* */
|
|
16
16
|
export class WorkspaceSetupService {
|
|
17
17
|
constructor() {
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Флаг установки плагина КриптоПро
|
|
20
20
|
* */
|
|
21
21
|
this.isPluginInstalled = false;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Версия криптопровайдера КриптоПро
|
|
24
24
|
* */
|
|
25
25
|
this.cspVersion = null;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Флаг наличия ошибок
|
|
28
28
|
* */
|
|
29
29
|
this.hasErrors = false;
|
|
30
30
|
/**
|
|
31
|
-
*
|
|
31
|
+
* Флаг установки криптопровайдера КриптоПро
|
|
32
32
|
* */
|
|
33
33
|
this.hasCryptoProvider = false;
|
|
34
34
|
/**
|
|
35
|
-
*
|
|
35
|
+
* Флаг выполнения проверки рабочего места
|
|
36
36
|
* */
|
|
37
37
|
this.isLoading = false;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Метод проверки состояния рабочего места
|
|
40
40
|
* */
|
|
41
41
|
this.checkWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
42
42
|
var _a;
|
|
@@ -78,7 +78,7 @@ export class WorkspaceSetupService {
|
|
|
78
78
|
};
|
|
79
79
|
});
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* Метод сброса ошибок
|
|
82
82
|
* */
|
|
83
83
|
this.resetErrors = () => {
|
|
84
84
|
this.hasErrors = false;
|
|
@@ -3,33 +3,33 @@ import { type FormatedCertificate } from '../../services';
|
|
|
3
3
|
import { type CheckWorkspace } from '../../services/WorkspaceSetupService';
|
|
4
4
|
import { type FileData } from '../../types';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Стор для работы с сертификатами и выполнения криптоопераций. Является фасадом для сервисом КриптоПро
|
|
7
7
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
8
8
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
9
9
|
* */
|
|
10
10
|
export declare class CryptoProStore {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Флаг для открытия окна настройки рабочего места
|
|
13
13
|
* */
|
|
14
14
|
isRequestSetupWorkspace: boolean;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Флаг установки плагина
|
|
17
17
|
* */
|
|
18
18
|
isPluginInstalled: boolean;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Список сертификатов
|
|
21
21
|
* */
|
|
22
22
|
certificateList: Certificate[];
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Список сертификатов приведенный к интерфейсу FormatedCertificate
|
|
25
25
|
* */
|
|
26
26
|
formatedCertificateList: FormatedCertificate[];
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Сертификат, найденный по Skid
|
|
29
29
|
* */
|
|
30
30
|
certificateBySkid?: Certificate;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Информация о настройках рабочего места
|
|
33
33
|
* */
|
|
34
34
|
workspaceSetupInfo: CheckWorkspace;
|
|
35
35
|
private static instance;
|
|
@@ -38,37 +38,37 @@ export declare class CryptoProStore {
|
|
|
38
38
|
private cryptoProSignService;
|
|
39
39
|
constructor();
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Метод проверки настройки рабочего места
|
|
42
42
|
* */
|
|
43
43
|
checkWorkspace: () => Promise<void>;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Метод сброса флага для открытия окна настройки рабочего места
|
|
46
46
|
* */
|
|
47
47
|
resetIsRequestSetupWorkspace: () => Promise<void>;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Метод получения списка сертификатов.
|
|
50
50
|
* При повторном вызове возвращает сертификаты из кэша.
|
|
51
51
|
* */
|
|
52
52
|
getCertificateList: () => Promise<void>;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Метод получения списка сертификатов. Игнорирует кэш
|
|
55
55
|
* */
|
|
56
56
|
refetchCertificateList: () => Promise<void>;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Метод получения сертификата по skid
|
|
59
59
|
* */
|
|
60
60
|
getCertificateBySkid: (skid: string) => Promise<void>;
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
62
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
63
63
|
* */
|
|
64
64
|
filterCertificateList: (certificates: Certificate[], certificateSelectors?: string[]) => void;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
67
67
|
* * @param certificates список сертификатов
|
|
68
68
|
* */
|
|
69
69
|
formatCertificateList: (certificates: Certificate[]) => void;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Метод подписания в формате CMS
|
|
72
72
|
* @param certificate сертификат пользователя
|
|
73
73
|
* @param fileData данные для подписания в виде массива байт либо, в формате Base64 строки
|
|
74
74
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -76,21 +76,21 @@ export declare class CryptoProStore {
|
|
|
76
76
|
* */
|
|
77
77
|
signCms: (certificate: Certificate, fileData: FileData, detach?: boolean, includeCertChain?: boolean) => Promise<string>;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
80
80
|
* @param certificate сертификат пользователя
|
|
81
81
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
82
82
|
* @param includeCertChain включать в результат всю цепочку?
|
|
83
83
|
* */
|
|
84
84
|
signHashCms: (certificate: Certificate, fileData: FileData, includeCertChain?: boolean) => Promise<string>;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
87
87
|
* @param certificate сертификат пользователя
|
|
88
88
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
89
89
|
* @param xmlSignatureType тип xml подписи
|
|
90
90
|
* */
|
|
91
91
|
signXmlCms: (certificate: Certificate, fileData: FileData, xmlSignatureType: CADESCOM_XML_SIGNATURE_TYPE) => Promise<string>;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* Метод расшифровки данных
|
|
94
94
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
95
95
|
* */
|
|
96
96
|
decryptCms: (fileData: FileData) => Promise<string>;
|
|
@@ -11,41 +11,41 @@ import { makeAutoObservable } from 'mobx';
|
|
|
11
11
|
import { CryptoProCertificateService, CryptoProSignService, } from '../../services';
|
|
12
12
|
import { createWorkspaceSetupService, } from '../../services/WorkspaceSetupService';
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* Стор для работы с сертификатами и выполнения криптоопераций. Является фасадом для сервисом КриптоПро
|
|
15
15
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
16
16
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
17
17
|
* */
|
|
18
18
|
export class CryptoProStore {
|
|
19
19
|
constructor() {
|
|
20
20
|
/**
|
|
21
|
-
*
|
|
21
|
+
* Флаг для открытия окна настройки рабочего места
|
|
22
22
|
* */
|
|
23
23
|
this.isRequestSetupWorkspace = false;
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
25
|
+
* Флаг установки плагина
|
|
26
26
|
* */
|
|
27
27
|
this.isPluginInstalled = false;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Список сертификатов
|
|
30
30
|
* */
|
|
31
31
|
this.certificateList = [];
|
|
32
32
|
/**
|
|
33
|
-
*
|
|
33
|
+
* Список сертификатов приведенный к интерфейсу FormatedCertificate
|
|
34
34
|
* */
|
|
35
35
|
this.formatedCertificateList = [];
|
|
36
36
|
/**
|
|
37
|
-
*
|
|
37
|
+
* Сертификат, найденный по Skid
|
|
38
38
|
* */
|
|
39
39
|
this.certificateBySkid = {};
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Информация о настройках рабочего места
|
|
42
42
|
* */
|
|
43
43
|
this.workspaceSetupInfo = {};
|
|
44
44
|
this.workspaceSetupService = {};
|
|
45
45
|
this.cryptoProCertificateService = {};
|
|
46
46
|
this.cryptoProSignService = {};
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Метод проверки настройки рабочего места
|
|
49
49
|
* */
|
|
50
50
|
this.checkWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
51
51
|
this.workspaceSetupInfo = yield this.workspaceSetupService
|
|
@@ -54,13 +54,13 @@ export class CryptoProStore {
|
|
|
54
54
|
this.isPluginInstalled = this.workspaceSetupInfo.isPluginInstalled;
|
|
55
55
|
});
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* Метод сброса флага для открытия окна настройки рабочего места
|
|
58
58
|
* */
|
|
59
59
|
this.resetIsRequestSetupWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
60
60
|
this.isRequestSetupWorkspace = false;
|
|
61
61
|
});
|
|
62
62
|
/**
|
|
63
|
-
*
|
|
63
|
+
* Метод получения списка сертификатов.
|
|
64
64
|
* При повторном вызове возвращает сертификаты из кэша.
|
|
65
65
|
* */
|
|
66
66
|
this.getCertificateList = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -68,28 +68,28 @@ export class CryptoProStore {
|
|
|
68
68
|
yield this.cryptoProCertificateService.getCertificateList();
|
|
69
69
|
});
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Метод получения списка сертификатов. Игнорирует кэш
|
|
72
72
|
* */
|
|
73
73
|
this.refetchCertificateList = () => __awaiter(this, void 0, void 0, function* () {
|
|
74
74
|
this.certificateList =
|
|
75
75
|
yield this.cryptoProCertificateService.getCertificateList(true);
|
|
76
76
|
});
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
78
|
+
* Метод получения сертификата по skid
|
|
79
79
|
* */
|
|
80
80
|
this.getCertificateBySkid = (skid) => __awaiter(this, void 0, void 0, function* () {
|
|
81
81
|
this.certificateBySkid =
|
|
82
82
|
yield this.cryptoProCertificateService.getCertificateBySkid(skid);
|
|
83
83
|
});
|
|
84
84
|
/**
|
|
85
|
-
*
|
|
85
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
86
86
|
* */
|
|
87
87
|
this.filterCertificateList = (certificates, certificateSelectors) => {
|
|
88
88
|
this.certificateList =
|
|
89
89
|
this.cryptoProCertificateService.filterCertificateList(certificates, certificateSelectors);
|
|
90
90
|
};
|
|
91
91
|
/**
|
|
92
|
-
*
|
|
92
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
93
93
|
* * @param certificates список сертификатов
|
|
94
94
|
* */
|
|
95
95
|
this.formatCertificateList = (certificates) => {
|
|
@@ -97,7 +97,7 @@ export class CryptoProStore {
|
|
|
97
97
|
this.cryptoProCertificateService.formatCertificateList(certificates);
|
|
98
98
|
};
|
|
99
99
|
/**
|
|
100
|
-
*
|
|
100
|
+
* Метод подписания в формате CMS
|
|
101
101
|
* @param certificate сертификат пользователя
|
|
102
102
|
* @param fileData данные для подписания в виде массива байт либо, в формате Base64 строки
|
|
103
103
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -107,7 +107,7 @@ export class CryptoProStore {
|
|
|
107
107
|
return this.cryptoProSignService.signCms(certificate, fileData, detach, includeCertChain);
|
|
108
108
|
});
|
|
109
109
|
/**
|
|
110
|
-
*
|
|
110
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
111
111
|
* @param certificate сертификат пользователя
|
|
112
112
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
113
113
|
* @param includeCertChain включать в результат всю цепочку?
|
|
@@ -116,7 +116,7 @@ export class CryptoProStore {
|
|
|
116
116
|
return this.cryptoProSignService.signHashCms(certificate, fileData, includeCertChain);
|
|
117
117
|
});
|
|
118
118
|
/**
|
|
119
|
-
*
|
|
119
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
120
120
|
* @param certificate сертификат пользователя
|
|
121
121
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
122
122
|
* @param xmlSignatureType тип xml подписи
|
|
@@ -125,7 +125,7 @@ export class CryptoProStore {
|
|
|
125
125
|
return this.cryptoProSignService.signXmlCms(certificate, fileData, xmlSignatureType);
|
|
126
126
|
});
|
|
127
127
|
/**
|
|
128
|
-
*
|
|
128
|
+
* Метод расшифровки данных
|
|
129
129
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
130
130
|
* */
|
|
131
131
|
this.decryptCms = (fileData) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type Certificate } from '@astral/cryptopro-cades';
|
|
2
2
|
import { type AutocompleteProps } from '@astral/ui';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Autocomplete с сертификатами
|
|
5
5
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
6
6
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
7
7
|
*/
|
|
@@ -24,7 +24,7 @@ const CertificatesOptions = (disabled = false) => (_a, params, meta) => {
|
|
|
24
24
|
};
|
|
25
25
|
const defaultGetOptionLabel = (option) => option.subject.commonName;
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Autocomplete с сертификатами
|
|
28
28
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
29
29
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
30
30
|
*/
|
package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { type Certificate } from '@astral/cryptopro-cades';
|
|
|
2
2
|
import { type AutocompleteProps, type WithFormFieldProps } from '@astral/ui';
|
|
3
3
|
export type CryptoProCertFormAutocompleteProps<Multiple extends boolean = false, DisableClearable extends boolean = false, FreeSolo extends boolean = false> = WithFormFieldProps<AutocompleteProps<Certificate, Multiple, DisableClearable, FreeSolo>, any>;
|
|
4
4
|
/**
|
|
5
|
-
*
|
|
5
|
+
* Autocomplete с сертификатами для формы
|
|
6
6
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
7
7
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
8
8
|
*/
|
package/node/cryproPro/components/CryptoProCertFormAutocomplete/CryptoProCertFormAutocomplete.js
CHANGED
|
@@ -5,7 +5,7 @@ const jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
5
5
|
const ui_1 = require("@astral/ui");
|
|
6
6
|
const CryptoProCertAutocomplete_1 = require("../CryptoProCertAutocomplete");
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Autocomplete с сертификатами для формы
|
|
9
9
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
10
10
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
11
11
|
*/
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { type PropsWithChildren } from 'react';
|
|
2
2
|
import { type CryptoProStore } from '../../stores/CryptoProStore';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Провайдер, который в случае отсутствия или неактивности
|
|
5
5
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
6
6
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
7
7
|
* КриптоПро browser plug-in или отсутствия КриптоПро провайдера на
|
|
@@ -6,7 +6,7 @@ const mobx_react_lite_1 = require("mobx-react-lite");
|
|
|
6
6
|
const ui_1 = require("@astral/ui");
|
|
7
7
|
const SetupCryptoProWorkspaceModal_1 = require("../SetupCryptoProWorkspaceModal");
|
|
8
8
|
/**
|
|
9
|
-
*
|
|
9
|
+
* Провайдер, который в случае отсутствия или неактивности
|
|
10
10
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
11
11
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
12
12
|
* КриптоПро browser plug-in или отсутствия КриптоПро провайдера на
|
package/node/cryproPro/services/CryptoProCertificateService/CryptoProCertificateService.d.ts
CHANGED
|
@@ -8,24 +8,24 @@ export type FormatedCertificate = {
|
|
|
8
8
|
expires: string | null;
|
|
9
9
|
};
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
11
|
+
* Сервис для сертификатов КриптоПро
|
|
12
12
|
* */
|
|
13
13
|
export declare class CryptoProCertificateService {
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Метод получения списка сертификатов
|
|
16
16
|
* @param resetCache - сбросить кэш и произвести повторный поиск сертификатов
|
|
17
17
|
* */
|
|
18
18
|
getCertificateList: (resetCache?: boolean) => Promise<Certificate[]>;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Метод получения сертификата по skid
|
|
21
21
|
* */
|
|
22
22
|
getCertificateBySkid: (skid: string, certificates?: Certificate[]) => Certificate | Promise<Certificate> | undefined;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
25
25
|
* */
|
|
26
26
|
filterCertificateList: (certificates: Certificate[], certificateSelectors?: string[]) => Certificate[];
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
29
29
|
* */
|
|
30
30
|
formatCertificateList: (certificates: Certificate[]) => FormatedCertificate[];
|
|
31
31
|
}
|
|
@@ -4,19 +4,19 @@ exports.CryptoProCertificateService = void 0;
|
|
|
4
4
|
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
5
5
|
const utils_1 = require("./utils");
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* Сервис для сертификатов КриптоПро
|
|
8
8
|
* */
|
|
9
9
|
class CryptoProCertificateService {
|
|
10
10
|
constructor() {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Метод получения списка сертификатов
|
|
13
13
|
* @param resetCache - сбросить кэш и произвести повторный поиск сертификатов
|
|
14
14
|
* */
|
|
15
15
|
this.getCertificateList = (resetCache) => {
|
|
16
16
|
return (0, cryptopro_cades_1.getCertificates)(cryptopro_cades_1.STORE_TYPE.ALL, resetCache);
|
|
17
17
|
};
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* Метод получения сертификата по skid
|
|
20
20
|
* */
|
|
21
21
|
this.getCertificateBySkid = (skid, certificates) => {
|
|
22
22
|
return (certificates === null || certificates === void 0 ? void 0 : certificates.length)
|
|
@@ -24,7 +24,7 @@ class CryptoProCertificateService {
|
|
|
24
24
|
: (0, cryptopro_cades_1.findCertificateBySkid)(skid);
|
|
25
25
|
};
|
|
26
26
|
/**
|
|
27
|
-
*
|
|
27
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
28
28
|
* */
|
|
29
29
|
this.filterCertificateList = (certificates, certificateSelectors) => {
|
|
30
30
|
return certificates.filter((certificate) => {
|
|
@@ -43,7 +43,7 @@ class CryptoProCertificateService {
|
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
47
47
|
* */
|
|
48
48
|
this.formatCertificateList = (certificates) => {
|
|
49
49
|
return certificates.map((certificate) => {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { type CADESCOM_XML_SIGNATURE_TYPE, type Certificate } from '@astral/cryptopro-cades';
|
|
2
2
|
import { type FileData } from '../../types';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Сервис для методов подписания КриптоПро
|
|
5
5
|
* */
|
|
6
6
|
export declare class CryptoProSignService {
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Метод подписания в формате CMS
|
|
9
9
|
* @param certificate сертификат пользователя
|
|
10
10
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
11
11
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -13,21 +13,21 @@ export declare class CryptoProSignService {
|
|
|
13
13
|
* */
|
|
14
14
|
signCms: (certificate: Certificate, fileData: FileData, detach?: boolean, includeCertChain?: boolean) => Promise<string>;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
17
17
|
* @param certificate сертификат пользователя
|
|
18
18
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
19
19
|
* @param includeCertChain включать в результат всю цепочку?
|
|
20
20
|
* */
|
|
21
21
|
signHashCms: (certificate: Certificate, fileData: FileData, includeCertChain?: boolean) => Promise<string>;
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
23
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
24
24
|
* @param certificate сертификат пользователя
|
|
25
25
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
26
26
|
* @param xmlSignatureType тип xml подписи
|
|
27
27
|
* */
|
|
28
28
|
signXmlCms: (certificate: Certificate, fileData: FileData, xmlSignatureType: CADESCOM_XML_SIGNATURE_TYPE) => Promise<string>;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Метод расшифровки данных
|
|
31
31
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
32
32
|
* */
|
|
33
33
|
decryptCms: (fileData: FileData) => Promise<string>;
|
|
@@ -12,12 +12,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.CryptoProSignService = void 0;
|
|
13
13
|
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Сервис для методов подписания КриптоПро
|
|
16
16
|
* */
|
|
17
17
|
class CryptoProSignService {
|
|
18
18
|
constructor() {
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Метод подписания в формате CMS
|
|
21
21
|
* @param certificate сертификат пользователя
|
|
22
22
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
23
23
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -27,7 +27,7 @@ class CryptoProSignService {
|
|
|
27
27
|
return (0, cryptopro_cades_1.sign)(certificate, fileData, detach, includeCertChain);
|
|
28
28
|
});
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
31
31
|
* @param certificate сертификат пользователя
|
|
32
32
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
33
33
|
* @param includeCertChain включать в результат всю цепочку?
|
|
@@ -36,7 +36,7 @@ class CryptoProSignService {
|
|
|
36
36
|
return (0, cryptopro_cades_1.signHash)(certificate, fileData, includeCertChain);
|
|
37
37
|
});
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
40
40
|
* @param certificate сертификат пользователя
|
|
41
41
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
42
42
|
* @param xmlSignatureType тип xml подписи
|
|
@@ -45,7 +45,7 @@ class CryptoProSignService {
|
|
|
45
45
|
return (0, cryptopro_cades_1.signXml)(certificate, fileData, xmlSignatureType);
|
|
46
46
|
});
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
48
|
+
* Метод расшифровки данных
|
|
49
49
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
50
50
|
* */
|
|
51
51
|
this.decryptCms = (fileData) => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -5,37 +5,37 @@ export type CheckWorkspace = {
|
|
|
5
5
|
hasErrors: boolean;
|
|
6
6
|
};
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* Сервис для настройки рабочего места
|
|
9
9
|
* */
|
|
10
10
|
export declare class WorkspaceSetupService {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Флаг установки плагина КриптоПро
|
|
13
13
|
* */
|
|
14
14
|
isPluginInstalled: boolean;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Версия криптопровайдера КриптоПро
|
|
17
17
|
* */
|
|
18
18
|
cspVersion: string | null;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Флаг наличия ошибок
|
|
21
21
|
* */
|
|
22
22
|
hasErrors: boolean;
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Флаг установки криптопровайдера КриптоПро
|
|
25
25
|
* */
|
|
26
26
|
private hasCryptoProvider;
|
|
27
27
|
private static instance;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Флаг выполнения проверки рабочего места
|
|
30
30
|
* */
|
|
31
31
|
isLoading: boolean;
|
|
32
32
|
constructor();
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Метод проверки состояния рабочего места
|
|
35
35
|
* */
|
|
36
36
|
checkWorkspace: () => Promise<CheckWorkspace>;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Метод сброса ошибок
|
|
39
39
|
* */
|
|
40
40
|
resetErrors: () => void;
|
|
41
41
|
}
|
|
@@ -14,32 +14,32 @@ const ui_1 = require("@astral/ui");
|
|
|
14
14
|
const cryptopro_cades_1 = require("@astral/cryptopro-cades");
|
|
15
15
|
const constants_1 = require("../../constants");
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Сервис для настройки рабочего места
|
|
18
18
|
* */
|
|
19
19
|
class WorkspaceSetupService {
|
|
20
20
|
constructor() {
|
|
21
21
|
/**
|
|
22
|
-
*
|
|
22
|
+
* Флаг установки плагина КриптоПро
|
|
23
23
|
* */
|
|
24
24
|
this.isPluginInstalled = false;
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
26
|
+
* Версия криптопровайдера КриптоПро
|
|
27
27
|
* */
|
|
28
28
|
this.cspVersion = null;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Флаг наличия ошибок
|
|
31
31
|
* */
|
|
32
32
|
this.hasErrors = false;
|
|
33
33
|
/**
|
|
34
|
-
*
|
|
34
|
+
* Флаг установки криптопровайдера КриптоПро
|
|
35
35
|
* */
|
|
36
36
|
this.hasCryptoProvider = false;
|
|
37
37
|
/**
|
|
38
|
-
*
|
|
38
|
+
* Флаг выполнения проверки рабочего места
|
|
39
39
|
* */
|
|
40
40
|
this.isLoading = false;
|
|
41
41
|
/**
|
|
42
|
-
*
|
|
42
|
+
* Метод проверки состояния рабочего места
|
|
43
43
|
* */
|
|
44
44
|
this.checkWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
45
45
|
var _a;
|
|
@@ -81,7 +81,7 @@ class WorkspaceSetupService {
|
|
|
81
81
|
};
|
|
82
82
|
});
|
|
83
83
|
/**
|
|
84
|
-
*
|
|
84
|
+
* Метод сброса ошибок
|
|
85
85
|
* */
|
|
86
86
|
this.resetErrors = () => {
|
|
87
87
|
this.hasErrors = false;
|
|
@@ -3,33 +3,33 @@ import { type FormatedCertificate } from '../../services';
|
|
|
3
3
|
import { type CheckWorkspace } from '../../services/WorkspaceSetupService';
|
|
4
4
|
import { type FileData } from '../../types';
|
|
5
5
|
/**
|
|
6
|
-
*
|
|
6
|
+
* Стор для работы с сертификатами и выполнения криптоопераций. Является фасадом для сервисом КриптоПро
|
|
7
7
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
8
8
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
9
9
|
* */
|
|
10
10
|
export declare class CryptoProStore {
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* Флаг для открытия окна настройки рабочего места
|
|
13
13
|
* */
|
|
14
14
|
isRequestSetupWorkspace: boolean;
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Флаг установки плагина
|
|
17
17
|
* */
|
|
18
18
|
isPluginInstalled: boolean;
|
|
19
19
|
/**
|
|
20
|
-
*
|
|
20
|
+
* Список сертификатов
|
|
21
21
|
* */
|
|
22
22
|
certificateList: Certificate[];
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Список сертификатов приведенный к интерфейсу FormatedCertificate
|
|
25
25
|
* */
|
|
26
26
|
formatedCertificateList: FormatedCertificate[];
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Сертификат, найденный по Skid
|
|
29
29
|
* */
|
|
30
30
|
certificateBySkid?: Certificate;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Информация о настройках рабочего места
|
|
33
33
|
* */
|
|
34
34
|
workspaceSetupInfo: CheckWorkspace;
|
|
35
35
|
private static instance;
|
|
@@ -38,37 +38,37 @@ export declare class CryptoProStore {
|
|
|
38
38
|
private cryptoProSignService;
|
|
39
39
|
constructor();
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
41
|
+
* Метод проверки настройки рабочего места
|
|
42
42
|
* */
|
|
43
43
|
checkWorkspace: () => Promise<void>;
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Метод сброса флага для открытия окна настройки рабочего места
|
|
46
46
|
* */
|
|
47
47
|
resetIsRequestSetupWorkspace: () => Promise<void>;
|
|
48
48
|
/**
|
|
49
|
-
*
|
|
49
|
+
* Метод получения списка сертификатов.
|
|
50
50
|
* При повторном вызове возвращает сертификаты из кэша.
|
|
51
51
|
* */
|
|
52
52
|
getCertificateList: () => Promise<void>;
|
|
53
53
|
/**
|
|
54
|
-
*
|
|
54
|
+
* Метод получения списка сертификатов. Игнорирует кэш
|
|
55
55
|
* */
|
|
56
56
|
refetchCertificateList: () => Promise<void>;
|
|
57
57
|
/**
|
|
58
|
-
*
|
|
58
|
+
* Метод получения сертификата по skid
|
|
59
59
|
* */
|
|
60
60
|
getCertificateBySkid: (skid: string) => Promise<void>;
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
62
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
63
63
|
* */
|
|
64
64
|
filterCertificateList: (certificates: Certificate[], certificateSelectors?: string[]) => void;
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
67
67
|
* * @param certificates список сертификатов
|
|
68
68
|
* */
|
|
69
69
|
formatCertificateList: (certificates: Certificate[]) => void;
|
|
70
70
|
/**
|
|
71
|
-
*
|
|
71
|
+
* Метод подписания в формате CMS
|
|
72
72
|
* @param certificate сертификат пользователя
|
|
73
73
|
* @param fileData данные для подписания в виде массива байт либо, в формате Base64 строки
|
|
74
74
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -76,21 +76,21 @@ export declare class CryptoProStore {
|
|
|
76
76
|
* */
|
|
77
77
|
signCms: (certificate: Certificate, fileData: FileData, detach?: boolean, includeCertChain?: boolean) => Promise<string>;
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
79
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
80
80
|
* @param certificate сертификат пользователя
|
|
81
81
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
82
82
|
* @param includeCertChain включать в результат всю цепочку?
|
|
83
83
|
* */
|
|
84
84
|
signHashCms: (certificate: Certificate, fileData: FileData, includeCertChain?: boolean) => Promise<string>;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
87
87
|
* @param certificate сертификат пользователя
|
|
88
88
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
89
89
|
* @param xmlSignatureType тип xml подписи
|
|
90
90
|
* */
|
|
91
91
|
signXmlCms: (certificate: Certificate, fileData: FileData, xmlSignatureType: CADESCOM_XML_SIGNATURE_TYPE) => Promise<string>;
|
|
92
92
|
/**
|
|
93
|
-
*
|
|
93
|
+
* Метод расшифровки данных
|
|
94
94
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
95
95
|
* */
|
|
96
96
|
decryptCms: (fileData: FileData) => Promise<string>;
|
|
@@ -14,41 +14,41 @@ const mobx_1 = require("mobx");
|
|
|
14
14
|
const services_1 = require("../../services");
|
|
15
15
|
const WorkspaceSetupService_1 = require("../../services/WorkspaceSetupService");
|
|
16
16
|
/**
|
|
17
|
-
*
|
|
17
|
+
* Стор для работы с сертификатами и выполнения криптоопераций. Является фасадом для сервисом КриптоПро
|
|
18
18
|
* @deprecated Используйте пакет @astral-private/crypto https://cryptodocs.astralnalog.ru/
|
|
19
19
|
* Причина отказа от поддержки: поддержка функционала теперь осуществляется централизовано командой Астрал-Софт в закрытом контуре.
|
|
20
20
|
* */
|
|
21
21
|
class CryptoProStore {
|
|
22
22
|
constructor() {
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
24
|
+
* Флаг для открытия окна настройки рабочего места
|
|
25
25
|
* */
|
|
26
26
|
this.isRequestSetupWorkspace = false;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* Флаг установки плагина
|
|
29
29
|
* */
|
|
30
30
|
this.isPluginInstalled = false;
|
|
31
31
|
/**
|
|
32
|
-
*
|
|
32
|
+
* Список сертификатов
|
|
33
33
|
* */
|
|
34
34
|
this.certificateList = [];
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
36
|
+
* Список сертификатов приведенный к интерфейсу FormatedCertificate
|
|
37
37
|
* */
|
|
38
38
|
this.formatedCertificateList = [];
|
|
39
39
|
/**
|
|
40
|
-
*
|
|
40
|
+
* Сертификат, найденный по Skid
|
|
41
41
|
* */
|
|
42
42
|
this.certificateBySkid = {};
|
|
43
43
|
/**
|
|
44
|
-
*
|
|
44
|
+
* Информация о настройках рабочего места
|
|
45
45
|
* */
|
|
46
46
|
this.workspaceSetupInfo = {};
|
|
47
47
|
this.workspaceSetupService = {};
|
|
48
48
|
this.cryptoProCertificateService = {};
|
|
49
49
|
this.cryptoProSignService = {};
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Метод проверки настройки рабочего места
|
|
52
52
|
* */
|
|
53
53
|
this.checkWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
54
54
|
this.workspaceSetupInfo = yield this.workspaceSetupService
|
|
@@ -57,13 +57,13 @@ class CryptoProStore {
|
|
|
57
57
|
this.isPluginInstalled = this.workspaceSetupInfo.isPluginInstalled;
|
|
58
58
|
});
|
|
59
59
|
/**
|
|
60
|
-
*
|
|
60
|
+
* Метод сброса флага для открытия окна настройки рабочего места
|
|
61
61
|
* */
|
|
62
62
|
this.resetIsRequestSetupWorkspace = () => __awaiter(this, void 0, void 0, function* () {
|
|
63
63
|
this.isRequestSetupWorkspace = false;
|
|
64
64
|
});
|
|
65
65
|
/**
|
|
66
|
-
*
|
|
66
|
+
* Метод получения списка сертификатов.
|
|
67
67
|
* При повторном вызове возвращает сертификаты из кэша.
|
|
68
68
|
* */
|
|
69
69
|
this.getCertificateList = () => __awaiter(this, void 0, void 0, function* () {
|
|
@@ -71,28 +71,28 @@ class CryptoProStore {
|
|
|
71
71
|
yield this.cryptoProCertificateService.getCertificateList();
|
|
72
72
|
});
|
|
73
73
|
/**
|
|
74
|
-
*
|
|
74
|
+
* Метод получения списка сертификатов. Игнорирует кэш
|
|
75
75
|
* */
|
|
76
76
|
this.refetchCertificateList = () => __awaiter(this, void 0, void 0, function* () {
|
|
77
77
|
this.certificateList =
|
|
78
78
|
yield this.cryptoProCertificateService.getCertificateList(true);
|
|
79
79
|
});
|
|
80
80
|
/**
|
|
81
|
-
*
|
|
81
|
+
* Метод получения сертификата по skid
|
|
82
82
|
* */
|
|
83
83
|
this.getCertificateBySkid = (skid) => __awaiter(this, void 0, void 0, function* () {
|
|
84
84
|
this.certificateBySkid =
|
|
85
85
|
yield this.cryptoProCertificateService.getCertificateBySkid(skid);
|
|
86
86
|
});
|
|
87
87
|
/**
|
|
88
|
-
*
|
|
88
|
+
* Метод фильтрации списка сертификатов по ключам: subjectKeyId, innLe, inn
|
|
89
89
|
* */
|
|
90
90
|
this.filterCertificateList = (certificates, certificateSelectors) => {
|
|
91
91
|
this.certificateList =
|
|
92
92
|
this.cryptoProCertificateService.filterCertificateList(certificates, certificateSelectors);
|
|
93
93
|
};
|
|
94
94
|
/**
|
|
95
|
-
*
|
|
95
|
+
* Метод приведения списка сертификатов к интерфейсу FormatedCertificate
|
|
96
96
|
* * @param certificates список сертификатов
|
|
97
97
|
* */
|
|
98
98
|
this.formatCertificateList = (certificates) => {
|
|
@@ -100,7 +100,7 @@ class CryptoProStore {
|
|
|
100
100
|
this.cryptoProCertificateService.formatCertificateList(certificates);
|
|
101
101
|
};
|
|
102
102
|
/**
|
|
103
|
-
*
|
|
103
|
+
* Метод подписания в формате CMS
|
|
104
104
|
* @param certificate сертификат пользователя
|
|
105
105
|
* @param fileData данные для подписания в виде массива байт либо, в формате Base64 строки
|
|
106
106
|
* @param detach присоединять подпись к данным или отдельно?
|
|
@@ -110,7 +110,7 @@ class CryptoProStore {
|
|
|
110
110
|
return this.cryptoProSignService.signCms(certificate, fileData, detach, includeCertChain);
|
|
111
111
|
});
|
|
112
112
|
/**
|
|
113
|
-
*
|
|
113
|
+
* Метод подписания хэша указанным сертификатом в формате CMS
|
|
114
114
|
* @param certificate сертификат пользователя
|
|
115
115
|
* @param fileData данные для подписания в виде массива байт хэша, либо сам хэш в формате hex строки (в любом регистре)
|
|
116
116
|
* @param includeCertChain включать в результат всю цепочку?
|
|
@@ -119,7 +119,7 @@ class CryptoProStore {
|
|
|
119
119
|
return this.cryptoProSignService.signHashCms(certificate, fileData, includeCertChain);
|
|
120
120
|
});
|
|
121
121
|
/**
|
|
122
|
-
*
|
|
122
|
+
* Метод подписания указанным сертификатом в формате XmlDSig
|
|
123
123
|
* @param certificate сертификат пользователя
|
|
124
124
|
* @param fileData данные для подписания в виде массива байт, либо в формате Base64 строки
|
|
125
125
|
* @param xmlSignatureType тип xml подписи
|
|
@@ -128,7 +128,7 @@ class CryptoProStore {
|
|
|
128
128
|
return this.cryptoProSignService.signXmlCms(certificate, fileData, xmlSignatureType);
|
|
129
129
|
});
|
|
130
130
|
/**
|
|
131
|
-
*
|
|
131
|
+
* Метод расшифровки данных
|
|
132
132
|
* @param fileData данные для расшифрования в виде массива байт, либо в формате Base64 строки
|
|
133
133
|
* */
|
|
134
134
|
this.decryptCms = (fileData) => __awaiter(this, void 0, void 0, function* () {
|
package/package.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"name": "@astral/features",
|
|
3
3
|
"browser": "./index.js",
|
|
4
4
|
"main": "./node/index.js",
|
|
5
|
-
"version": "3.
|
|
5
|
+
"version": "3.169.1",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@astral/ui": "3.
|
|
7
|
+
"@astral/ui": "3.169.1",
|
|
8
8
|
"mobx": "^6.8.0",
|
|
9
9
|
"mobx-react-lite": "^3.4.0",
|
|
10
10
|
"@astral/cryptopro-cades": "^1.5.1"
|