@it-enterprise/digital-signature 1.3.10 → 1.3.11
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/package.json +1 -1
- package/src/DigitalSignature.js +36 -20
- package/src/Resourses.json +4 -1
package/package.json
CHANGED
package/src/DigitalSignature.js
CHANGED
|
@@ -250,7 +250,7 @@ export default class DigitalSignature {
|
|
|
250
250
|
return this._glSign;
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
-
async setLanguage(language){
|
|
253
|
+
async setLanguage(language) {
|
|
254
254
|
await this._euSignFile.SetLanguage(language);
|
|
255
255
|
if (await this._euSignKeyMedia.IsInitialized()) {
|
|
256
256
|
await this._euSignKeyMedia.SetLanguage(language);
|
|
@@ -270,7 +270,7 @@ export default class DigitalSignature {
|
|
|
270
270
|
* Считать ключ по параметрам
|
|
271
271
|
* @param {PrivateKeyInfo} keyInfo - Параметры ключа
|
|
272
272
|
*/
|
|
273
|
-
|
|
273
|
+
async readPrivateKeyByInfo(keyInfo) {
|
|
274
274
|
if (!keyInfo) {
|
|
275
275
|
throw {
|
|
276
276
|
code: EndUserError.EU_ERROR_BAD_PARAMETER,
|
|
@@ -287,7 +287,7 @@ export default class DigitalSignature {
|
|
|
287
287
|
case DigitalSignatureKeyType.KSP:
|
|
288
288
|
return await this.readPrivateKeyKSP(keyInfo.ksp, keyInfo.kspUserId, false);
|
|
289
289
|
}
|
|
290
|
-
|
|
290
|
+
}
|
|
291
291
|
|
|
292
292
|
/**
|
|
293
293
|
* Считать аппаратный ключ
|
|
@@ -311,10 +311,10 @@ export default class DigitalSignature {
|
|
|
311
311
|
}
|
|
312
312
|
|
|
313
313
|
if (Array.isArray(certs)) {
|
|
314
|
-
certs = await Promise.all(certs.map(cert =>
|
|
314
|
+
certs = await Promise.all(certs.map(cert =>
|
|
315
315
|
cert instanceof File || cert instanceof Blob ? readFile(cert) :
|
|
316
|
-
|
|
317
|
-
|
|
316
|
+
cert instanceof EndUserCertificate ? cert.data :
|
|
317
|
+
cert));
|
|
318
318
|
}
|
|
319
319
|
|
|
320
320
|
try {
|
|
@@ -377,10 +377,10 @@ export default class DigitalSignature {
|
|
|
377
377
|
privateKey = await readFile(privateKey);
|
|
378
378
|
}
|
|
379
379
|
if (Array.isArray(certs)) {
|
|
380
|
-
certs = await Promise.all(certs.map(cert =>
|
|
380
|
+
certs = await Promise.all(certs.map(cert =>
|
|
381
381
|
cert instanceof File || cert instanceof Blob ? readFile(cert) :
|
|
382
|
-
|
|
383
|
-
|
|
382
|
+
cert instanceof EndUserCertificate ? cert.data :
|
|
383
|
+
cert));
|
|
384
384
|
}
|
|
385
385
|
try {
|
|
386
386
|
const ownerInfo = await this._euSign.ReadPrivateKeyBinary(privateKey, password, certs, this._selectedIssuerCN);
|
|
@@ -509,7 +509,7 @@ export default class DigitalSignature {
|
|
|
509
509
|
*/
|
|
510
510
|
async setTwoFactorCodeKSP(code) {
|
|
511
511
|
await this.setLibraryType(DigitalSignatureKeyType.KSP);
|
|
512
|
-
|
|
512
|
+
|
|
513
513
|
return this._euSign.m_library.m_worker.postMessage("SetTwoFactorCodeKSP", [code]);
|
|
514
514
|
}
|
|
515
515
|
|
|
@@ -523,11 +523,11 @@ export default class DigitalSignature {
|
|
|
523
523
|
* @param {authenticationCallback} event - Коллбэк. Вызывается при запросе на подписание.
|
|
524
524
|
*/
|
|
525
525
|
async addConfirmKSPOperationEventListener(event) {
|
|
526
|
-
await this._euSignFile.AddEventListener(EndUserConstants.EndUserEventType.ConfirmKSPOperation, function(data) {
|
|
526
|
+
await this._euSignFile.AddEventListener(EndUserConstants.EndUserEventType.ConfirmKSPOperation, function (data) {
|
|
527
527
|
data.qrCode = "data:image/bmp;base64," + data.qrCode;
|
|
528
528
|
event(data);
|
|
529
529
|
});
|
|
530
|
-
}
|
|
530
|
+
}
|
|
531
531
|
|
|
532
532
|
/**
|
|
533
533
|
* Получить список облачных провайдеров
|
|
@@ -560,9 +560,9 @@ export default class DigitalSignature {
|
|
|
560
560
|
/**
|
|
561
561
|
* Остановить операцио с облачным ключом
|
|
562
562
|
*/
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
563
|
+
async resetKSPOperation() {
|
|
564
|
+
await this._euSignFile.ResetOperationKSP();
|
|
565
|
+
}
|
|
566
566
|
|
|
567
567
|
/**
|
|
568
568
|
* Получить список центров сертификации
|
|
@@ -617,7 +617,7 @@ export default class DigitalSignature {
|
|
|
617
617
|
|
|
618
618
|
if (this.readedKey.keyType === DigitalSignatureKeyType.KSP) {
|
|
619
619
|
if (signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_CADES &&
|
|
620
|
-
|
|
620
|
+
signType.type !== EndUserConstants.EU_SIGN_CONTAINER_TYPE_PADES) {
|
|
621
621
|
throw {
|
|
622
622
|
code: EndUserError.EU_ERROR_NOT_SUPPORTED,
|
|
623
623
|
message: this._resourses.KSPSignFormatError
|
|
@@ -1072,7 +1072,7 @@ export default class DigitalSignature {
|
|
|
1072
1072
|
/**
|
|
1073
1073
|
* Получить предпочитаемый тип ключа
|
|
1074
1074
|
*/
|
|
1075
|
-
|
|
1075
|
+
get _preferredKeyType() {
|
|
1076
1076
|
const keyType = parseInt(localStorage[this._userId + PRIVATE_KEY_TYPE]);
|
|
1077
1077
|
if (typeof keyType === "number" && keyType > -1) {
|
|
1078
1078
|
return keyType;
|
|
@@ -1086,7 +1086,7 @@ export default class DigitalSignature {
|
|
|
1086
1086
|
* Задать предпочитаемый тип ключа
|
|
1087
1087
|
* @param {DigitalSignatureKeyType | number} keyType - Тип ключа
|
|
1088
1088
|
*/
|
|
1089
|
-
set _preferredKeyType
|
|
1089
|
+
set _preferredKeyType(keyType) {
|
|
1090
1090
|
if (typeof keyType === "number" && keyType > -1) {
|
|
1091
1091
|
localStorage[this._userId + PRIVATE_KEY_TYPE] = keyType;
|
|
1092
1092
|
}
|
|
@@ -1096,11 +1096,11 @@ export default class DigitalSignature {
|
|
|
1096
1096
|
return Resourses[this._language];
|
|
1097
1097
|
}
|
|
1098
1098
|
|
|
1099
|
-
get _userId
|
|
1099
|
+
get _userId() {
|
|
1100
1100
|
return typeof this._settingsProvider.userId === "function" ? this._settingsProvider.userId() : this._settingsProvider.userId;
|
|
1101
1101
|
}
|
|
1102
1102
|
|
|
1103
|
-
get _language
|
|
1103
|
+
get _language() {
|
|
1104
1104
|
return typeof this._settingsProvider.language === "function" ? this._settingsProvider.language() : this._settingsProvider.language;
|
|
1105
1105
|
}
|
|
1106
1106
|
|
|
@@ -1119,5 +1119,21 @@ export default class DigitalSignature {
|
|
|
1119
1119
|
};
|
|
1120
1120
|
}
|
|
1121
1121
|
}
|
|
1122
|
+
try {
|
|
1123
|
+
const health = await downloadData(new URL(ksp.address).origin + "/health");
|
|
1124
|
+
if (health.trim().toLowerCase() != "healthy") {
|
|
1125
|
+
throw {
|
|
1126
|
+
code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,
|
|
1127
|
+
message: this._resourses.DiiaHealthCheckError
|
|
1128
|
+
};
|
|
1129
|
+
}
|
|
1130
|
+
} catch (error) {
|
|
1131
|
+
console.error(error);
|
|
1132
|
+
throw {
|
|
1133
|
+
code: EndUserError.EU_ERROR_TRANSMIT_REQUEST,
|
|
1134
|
+
message: this._resourses.DiiaHealthCheckError
|
|
1135
|
+
};
|
|
1136
|
+
}
|
|
1137
|
+
|
|
1122
1138
|
}
|
|
1123
1139
|
}
|
package/src/Resourses.json
CHANGED
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
"LibraryUpdate": "Оновлення web-бібліотеки підпису",
|
|
11
11
|
"PrivateKeyNotReaded": "Особистий ключ не считано.",
|
|
12
12
|
"DiiaError": "Дія.Підпис – сервіс для накладання кваліфікованого електронного підпису за допомогою смартфону і додатку «Дія».<br/>Для можливості використання «Дія.Підпис» у даній інсталяції системи вам необхідно звернутися до свого постачальника.<br/>У зверненні вкажіть наступну інформацію:<br/><ul><li>Посилання: ",
|
|
13
|
+
"DiiaHealthCheckError": "Сервіс Дія.Підпис недоступний.",
|
|
13
14
|
"XadesError": "Перевірка кваліфікованого електронного підпису, який сформовано у вигляді окремого файлу з розширенням .xml виконується за умов наявності файлу з даними, на які накладено кваліфікований електронний підпис. Ім`я такого файлу зазвичай ідентичне з іменем файлу файлу з розширенням .xml. Оберіть цей файл разом з файлом кваліфікованого електронного підпису.",
|
|
14
15
|
"KSPSignFormatError": "Хмарні сервіси підтримують тільки підписи типу CAdES або PAdES",
|
|
15
16
|
"KSPSignPAdESError": "Створення підписів в форматі PAdES підтримується тільки для Серверу підпису",
|
|
@@ -32,6 +33,7 @@
|
|
|
32
33
|
"LibraryUpdate": "Обновление web-библиотеки подписи",
|
|
33
34
|
"PrivateKeyNotReaded": "Приватный ключ не считан.",
|
|
34
35
|
"DiiaError": "Дія.Підпис – сервис для наложения квалифицированной электронной подписи с помощью смартфона и приложения «Дія».<br/>Для возможности использования «Дія.Підпис» в данной инсталляции системы вам необходимо обратиться к своему поставщику.<br/>В обращении укажите следующую информацию:<br/><ul><li>Ссылка: ",
|
|
36
|
+
"DiiaHealthCheckError": "Сервис Дія.Підпис недоступен.",
|
|
35
37
|
"XadesError": "Проверка квалифицированной электронной подписи, которая сформирована в виде отдельного файла с расширением .xml, выполняется при наличии файла с данными, на которые наложена квалифицированная электронная подпись. Имя такого файла обычно идентично с именем файла с расширением .xml. Выберите этот файл вместе с квалифицированной электронной подписью.",
|
|
36
38
|
"KSPSignFormatError": "Облачные сервисы поддерживают только подписи типа CAdES или PAdES",
|
|
37
39
|
"KSPSignPAdESError": "Создание подписей в формате PAdES поддерживается только для Сервера подписи",
|
|
@@ -53,7 +55,8 @@
|
|
|
53
55
|
"LibraryInstall": "Web-signature library installation package",
|
|
54
56
|
"LibraryUpdate": "Web-signature library update package",
|
|
55
57
|
"PrivateKeyNotReaded": "Private key not readed.",
|
|
56
|
-
"DiiaError": "Diia.Sign - a service for applying a qualified digital signature using a smartphone and the application \"
|
|
58
|
+
"DiiaError": "Diia.Sign - a service for applying a qualified digital signature using a smartphone and the application \"Diia\". <br/> To be able to use \"Diia.Sign\" in this system, you need to contact your provider. <br/> Please include the following information in your request: <br/> <ul> <li> Link: ",
|
|
59
|
+
"DiiaHealthCheckError": "Diia.Sign service is unavailable.",
|
|
57
60
|
"XadesError": "The verification of a qualified digital signature, which is formed as a separate file with the extension .xml, is performed under the conditions of the file with the data on which the qualified digital signature is affixed. The name of such a file is usually identical to the filename of the .xml file. Select this file along with the qualified digital signature file.",
|
|
58
61
|
"KSPSignFormatError": "Cloud services only supports CAdES or PAdES signatures",
|
|
59
62
|
"KSPSignPAdESError": "PAdES signatures are supported only by SignServer",
|