@it-enterprise/digital-signature 1.1.3 → 1.1.7
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/euscp/EndUserConstants.d.ts +50 -0
- package/euscp/euscp.d.ts +90 -1
- package/euscp/euscp.js +2 -2
- package/package.json +1 -1
- package/readme.md +15 -9
- package/src/DigitalSignature.js +182 -87
- package/src/Models.js +19 -5
- package/src/Resourses.json +6 -3
package/src/Models.js
CHANGED
|
@@ -2,7 +2,7 @@ import { EndUserCertificate, EndUserError, EndUserOwnerInfo, EndUserConstants }
|
|
|
2
2
|
import GlSign from "./GlSign";
|
|
3
3
|
import { downloadData, byteArrayToBase64, base64ToByteArray, signAlgoToHashAlgo, getSupportedSignAlgos } from "./Utils";
|
|
4
4
|
|
|
5
|
-
const LIBRARY_VERSION = "1.3.
|
|
5
|
+
const LIBRARY_VERSION = "1.3.49";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* Параметры библиотеки электронной подписи
|
|
@@ -10,11 +10,13 @@ const LIBRARY_VERSION = "1.3.45";
|
|
|
10
10
|
export class DigitalSignatureSettings {
|
|
11
11
|
/**
|
|
12
12
|
* @param {string} language - Язык. Поддержываемые значения: en, ru, uk
|
|
13
|
+
* @param {string} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)
|
|
13
14
|
* @param {string} httpProxyServiceURL - Ссылка на ProxyHandler
|
|
14
15
|
* @param {UriCertificatesProvider | WebCalcCertificatesProvider} certificatesProvider - Список центров сертификации, или ссылка на их скачивание
|
|
15
16
|
*/
|
|
16
|
-
constructor(language, httpProxyServiceURL, certificatesProvider, mssServiceURL, libraryUrl) {
|
|
17
|
+
constructor(language, userId, httpProxyServiceURL, certificatesProvider, mssServiceURL, libraryUrl) {
|
|
17
18
|
this.language = language || "ru";
|
|
19
|
+
this.userId = userId;
|
|
18
20
|
this.httpProxyServiceURL = httpProxyServiceURL;
|
|
19
21
|
this.certificatesProvider = certificatesProvider;
|
|
20
22
|
this.mssServiceURL = mssServiceURL;
|
|
@@ -28,12 +30,13 @@ export class DigitalSignatureSettings {
|
|
|
28
30
|
export class DefaultSettingProvider {
|
|
29
31
|
/**
|
|
30
32
|
* @param {string} language - Язык ошибок
|
|
33
|
+
* @param {string | function} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)
|
|
31
34
|
* @param {string} glSign - ПГУ GlSign
|
|
32
35
|
* @param {string} basePath - путь к ProxyHandler
|
|
33
36
|
* @param {string} certificatesPath - путь к папке с сертификатами
|
|
34
37
|
*
|
|
35
38
|
*/
|
|
36
|
-
constructor(language, basePath) {
|
|
39
|
+
constructor(language, userId, basePath) {
|
|
37
40
|
if (typeof basePath !== "string") {
|
|
38
41
|
throw {
|
|
39
42
|
code: EndUserError.EU_ERROR_BAD_PARAMETER,
|
|
@@ -44,6 +47,7 @@ export class DefaultSettingProvider {
|
|
|
44
47
|
}
|
|
45
48
|
|
|
46
49
|
this.language = language;
|
|
50
|
+
this.userId = userId;
|
|
47
51
|
this.basePath = basePath;
|
|
48
52
|
}
|
|
49
53
|
|
|
@@ -56,6 +60,7 @@ export class DefaultSettingProvider {
|
|
|
56
60
|
if (!this._settings) {
|
|
57
61
|
this._settings = new DigitalSignatureSettings(
|
|
58
62
|
this.language,
|
|
63
|
+
this.userId,
|
|
59
64
|
this.basePath + "/ProxyHandler",
|
|
60
65
|
new UriCertificatesProvider(
|
|
61
66
|
this.basePath + "/files?name=CAs.json",
|
|
@@ -76,11 +81,12 @@ export class DefaultSettingProvider {
|
|
|
76
81
|
export class GraphQlSettingProvider {
|
|
77
82
|
/**
|
|
78
83
|
* @param {string} language - Язык ошибок
|
|
84
|
+
* @param {string | function} userId - id пользователя (для сохранения ключей и предпочитаемого типа ключа)
|
|
79
85
|
* @param {string} graphQlUri - Ссылка на GraphQl сервер
|
|
80
86
|
* @param {string} wsUri - Ссылка на веб-сервисы
|
|
81
87
|
* @param {Object} auth - Функция для получения токена авторизации
|
|
82
88
|
*/
|
|
83
|
-
constructor(language, graphQlUri, wsUri, auth) {
|
|
89
|
+
constructor(language, userId, graphQlUri, wsUri, auth) {
|
|
84
90
|
if (typeof graphQlUri !== "string") {
|
|
85
91
|
throw {
|
|
86
92
|
code: EndUserError.EU_ERROR_BAD_PARAMETER,
|
|
@@ -92,6 +98,7 @@ export class GraphQlSettingProvider {
|
|
|
92
98
|
}
|
|
93
99
|
|
|
94
100
|
this.language = language;
|
|
101
|
+
this.userId = userId;
|
|
95
102
|
this.graphQlUri = graphQlUri;
|
|
96
103
|
this.wsUri = wsUri;
|
|
97
104
|
this.auth = auth;
|
|
@@ -104,6 +111,7 @@ export class GraphQlSettingProvider {
|
|
|
104
111
|
getSettings(testMode) {
|
|
105
112
|
return new DigitalSignatureSettings(
|
|
106
113
|
this.language,
|
|
114
|
+
this.userId,
|
|
107
115
|
this.graphQlUri + "/api/digitalSignature/ProxyHandler",
|
|
108
116
|
new GraphQlCertificatesProvider(testMode, this.graphQlUri, this.wsUri)
|
|
109
117
|
);
|
|
@@ -282,8 +290,12 @@ export const DigitalSignatureLibraryType = {
|
|
|
282
290
|
export const DigitalSignatureKeyTypeFile = 0;
|
|
283
291
|
/** Аппаратный ключ */
|
|
284
292
|
export const DigitalSignatureKeyTypeToken = 1;
|
|
293
|
+
/** DepositSign */
|
|
294
|
+
export const DigitalSignatureKeyTypeDepositsign = 2;
|
|
295
|
+
/** Дiя */
|
|
296
|
+
export const DigitalSignatureKeyTypeDiia = 3;
|
|
285
297
|
/** Облачный сервис */
|
|
286
|
-
export const DigitalSignatureKeyTypeKSP =
|
|
298
|
+
export const DigitalSignatureKeyTypeKSP = 4;
|
|
287
299
|
|
|
288
300
|
/**
|
|
289
301
|
* Типы ключей
|
|
@@ -291,6 +303,8 @@ export const DigitalSignatureKeyTypeKSP = 2;
|
|
|
291
303
|
export const DigitalSignatureKeyType = {
|
|
292
304
|
File: DigitalSignatureKeyTypeFile,
|
|
293
305
|
Token: DigitalSignatureKeyTypeToken,
|
|
306
|
+
Depositsign: DigitalSignatureKeyTypeDepositsign,
|
|
307
|
+
Diia: DigitalSignatureKeyTypeDiia,
|
|
294
308
|
KSP: DigitalSignatureKeyTypeKSP
|
|
295
309
|
};
|
|
296
310
|
|
package/src/Resourses.json
CHANGED
|
@@ -8,7 +8,8 @@
|
|
|
8
8
|
"WebExtensionInstall": "Інсталяційний пакет бібліотеки підпису (web-розширення)",
|
|
9
9
|
"LibraryInstall": "Інсталяційний пакет web-бібліотеки підпису",
|
|
10
10
|
"LibraryUpdate": "Оновлення web-бібліотеки підпису",
|
|
11
|
-
"PrivateKeyNotReaded": "Особистий ключ не считано."
|
|
11
|
+
"PrivateKeyNotReaded": "Особистий ключ не считано.",
|
|
12
|
+
"DiiaError": "Дія.Підпис – сервіс для накладання кваліфікованого електронного підпису за допомогою смартфону і додатку «Дія».<br/>Для можливості використання «Дія.Підпис» у даній інсталяції системи вам необхідно звернутися до свого постачальника.<br/>У зверненні вкажіть наступну інформацію:<br/><ul><li>Посилання: "
|
|
12
13
|
},
|
|
13
14
|
"ru": {
|
|
14
15
|
"LibraryNotSupported": "Библиотека web-подписи не поддерживается в вашем браузере или ОС.",
|
|
@@ -19,7 +20,8 @@
|
|
|
19
20
|
"WebExtensionInstall": "Установочный пакет библиотеки подписи (web-розширення)",
|
|
20
21
|
"LibraryInstall": "Установочный пакет web-библиотеки подписи",
|
|
21
22
|
"LibraryUpdate": "Обновление web-библиотеки подписи",
|
|
22
|
-
"PrivateKeyNotReaded": "Приватный ключ не считан."
|
|
23
|
+
"PrivateKeyNotReaded": "Приватный ключ не считан.",
|
|
24
|
+
"DiiaError": "Дія.Підпис – сервис для наложения квалифицированной электронной подписи с помощью смартфона и приложения «Дія».<br/>Для возможности использования «Дія.Підпис» в данной инсталляции системы вам необходимо обратиться к своему поставщику.<br/>В обращении укажите следующую информацию:<br/><ul><li>Ссылка: "
|
|
23
25
|
},
|
|
24
26
|
"en": {
|
|
25
27
|
"LibraryNotSupported": "Web-signature library is not supported in your browser or OS.",
|
|
@@ -30,6 +32,7 @@
|
|
|
30
32
|
"WebExtensionInstall": "Signature library installation package (web-extension)",
|
|
31
33
|
"LibraryInstall": "Web-signature library installation package",
|
|
32
34
|
"LibraryUpdate": "Web-signature library update package",
|
|
33
|
-
"PrivateKeyNotReaded": "Private key not readed."
|
|
35
|
+
"PrivateKeyNotReaded": "Private key not readed.",
|
|
36
|
+
"DiiaError": "Дія.Підпис - a service for applying a qualified electronic signature using a smartphone and the application \"Дія\". <br/> To be able to use \"Дія.Підпис\" in this system, you need to contact your provider. <br/> Please include the following information in your request: <br/> <ul> <li> Link: "
|
|
34
37
|
}
|
|
35
38
|
}
|