@it-enterprise/digital-signature 1.3.18 → 1.3.20
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 +15 -8
- package/src/GlSign.js +3 -7
- package/src/Models.js +90 -44
- package/src/Utils.js +1 -0
package/package.json
CHANGED
package/src/DigitalSignature.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EndUser, EndUserConstants, EndUserProxySettings, EndUserError, KSPSettings, EndUserCertificate, EndUserKeyMedia, EndUserSignContainerInfo, EndUserCertificateInfoEx, EndUserTaxReport } from "../euscp/euscp";
|
|
2
2
|
import { DigitalSignatureKeyType, PrivateKeyInfo, FilePrivateKeyInfo, HardwarePrivateKeyInfo, KspPrivateKeyInfo, EndUserKSP, KSPKeyMediasResponse, KSPUserAuthData, KSPPrivateKeyAuthData, DigitalSignatureKeyTypeWindowsCertStore, ProtectTaxReportParams } from "./Models";
|
|
3
|
-
import { base64ToArray, convertToBase64, downloadAndSignFiles, downloadData, format, isDefaultValue, readFile
|
|
3
|
+
import { base64ToArray, convertToBase64, downloadAndSignFiles, downloadData, format, isDefaultValue, readFile } from "./Utils";
|
|
4
4
|
import Resourses from "./Resourses.json";
|
|
5
5
|
import GlSign from "./GlSign";
|
|
6
6
|
|
|
@@ -307,6 +307,8 @@ export default class DigitalSignature {
|
|
|
307
307
|
return await this.readHardwareKey(keyInfo.keyMedia, keyInfo.certificates);
|
|
308
308
|
case DigitalSignatureKeyType.KSP:
|
|
309
309
|
return await this.readPrivateKeyKSP(keyInfo.ksp, keyInfo.kspUserId, false);
|
|
310
|
+
default:
|
|
311
|
+
return null;
|
|
310
312
|
}
|
|
311
313
|
}
|
|
312
314
|
|
|
@@ -346,6 +348,7 @@ export default class DigitalSignature {
|
|
|
346
348
|
await this._euSign.GetOwnCertificates(),
|
|
347
349
|
keyMedia
|
|
348
350
|
);
|
|
351
|
+
this._readedKey._glSign = this._glSign;
|
|
349
352
|
return this._readedKey;
|
|
350
353
|
} catch (error) {
|
|
351
354
|
if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {
|
|
@@ -412,6 +415,7 @@ export default class DigitalSignature {
|
|
|
412
415
|
privateKey,
|
|
413
416
|
password
|
|
414
417
|
);
|
|
418
|
+
this._readedKey._glSign = this._glSign;
|
|
415
419
|
return this._readedKey;
|
|
416
420
|
} catch (error) {
|
|
417
421
|
if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {
|
|
@@ -466,7 +470,7 @@ export default class DigitalSignature {
|
|
|
466
470
|
* @param {boolean?} getCerts - Получать информацию о ключе пользователя. Это приведёт к дополнительному запросу на подписание
|
|
467
471
|
*/
|
|
468
472
|
async readPrivateKeyDepositsign(userId, getCerts = false) {
|
|
469
|
-
const deposit = this.KSPs.find(ksp => ksp.id === "
|
|
473
|
+
const deposit = this.KSPs.find(ksp => ksp.id === "DEPOSITSIGN");
|
|
470
474
|
return await this.readPrivateKeyKSP(deposit, userId, getCerts);
|
|
471
475
|
}
|
|
472
476
|
|
|
@@ -475,7 +479,7 @@ export default class DigitalSignature {
|
|
|
475
479
|
* @param {boolean?} getCerts - Получать информацию о ключе пользователя. Это приведёт к дополнительному запросу на подписание
|
|
476
480
|
*/
|
|
477
481
|
async readPrivateKeyDiia(getCerts = false) {
|
|
478
|
-
const diia = this.KSPs.find(ksp => ksp.id === "
|
|
482
|
+
const diia = this.KSPs.find(ksp => ksp.id === "DIIA-SIGN");
|
|
479
483
|
return await this.readPrivateKeyKSP(diia, null, getCerts);
|
|
480
484
|
}
|
|
481
485
|
|
|
@@ -509,6 +513,7 @@ export default class DigitalSignature {
|
|
|
509
513
|
ksp,
|
|
510
514
|
keyId
|
|
511
515
|
);
|
|
516
|
+
this._readedKey._glSign = this._glSign;
|
|
512
517
|
return this._readedKey;
|
|
513
518
|
}
|
|
514
519
|
|
|
@@ -574,7 +579,7 @@ export default class DigitalSignature {
|
|
|
574
579
|
const certInfo = await this.parseCertificate(keyInfo.Cert);
|
|
575
580
|
|
|
576
581
|
this._readedKey = new PrivateKeyInfo(DigitalSignatureKeyType.WindowsCertStore, certInfo.infoEx, [certInfo], certInfo.infoEx.subjCN, keyInfo.CertThumbPrint);
|
|
577
|
-
|
|
582
|
+
this._readedKey._glSign = this._glSign;
|
|
578
583
|
return this._readedKey;
|
|
579
584
|
}
|
|
580
585
|
|
|
@@ -693,7 +698,7 @@ export default class DigitalSignature {
|
|
|
693
698
|
}
|
|
694
699
|
}
|
|
695
700
|
|
|
696
|
-
const signAlgo = this._readedKey.getSignAlgo(
|
|
701
|
+
const signAlgo = this._readedKey.getSignAlgo();
|
|
697
702
|
|
|
698
703
|
if (signType.type === EndUserConstants.EndUserSignContainerType.ASiC) {
|
|
699
704
|
const signLevel = signType.signLevel || signType.asicSignType === EndUserConstants.EndUserASiCSignType.CAdES ? EndUserConstants.EndUserSignType.CAdES_X_Long : EndUserConstants.EndUserXAdESSignLevel.B_LT;
|
|
@@ -721,7 +726,7 @@ export default class DigitalSignature {
|
|
|
721
726
|
await this._euSign.SetRuntimeParameter(EndUserConstants.EU_SIGN_TYPE_PARAMETER, signLevel);
|
|
722
727
|
|
|
723
728
|
if (signType.subType === EndUserConstants.EndUserCAdESType.Detached) {
|
|
724
|
-
const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(
|
|
729
|
+
const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(), data, !asByteArray);
|
|
725
730
|
|
|
726
731
|
if (this._readedKey.keyType == DigitalSignatureKeyTypeWindowsCertStore) {
|
|
727
732
|
return this._signHashWindowsCertificateStore(hash, signType, asByteArray);
|
|
@@ -731,7 +736,7 @@ export default class DigitalSignature {
|
|
|
731
736
|
} else {
|
|
732
737
|
|
|
733
738
|
if (this._readedKey.keyType == DigitalSignatureKeyTypeWindowsCertStore) {
|
|
734
|
-
const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(
|
|
739
|
+
const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(), data, !asByteArray);
|
|
735
740
|
const signedData = await this._signHashWindowsCertificateStore(hash, signType, asByteArray);
|
|
736
741
|
|
|
737
742
|
return this._euSign.m_library.m_worker.postMessage("AppendDataToSignedData", [signedData, data, !asByteArray]);
|
|
@@ -771,7 +776,7 @@ export default class DigitalSignature {
|
|
|
771
776
|
return this._signHashWindowsCertificateStore(hash, false, asByteArray);
|
|
772
777
|
}
|
|
773
778
|
|
|
774
|
-
return await this._euSign.SignHash(this._readedKey.getSignAlgo(
|
|
779
|
+
return await this._euSign.SignHash(this._readedKey.getSignAlgo(), hash, true, !asByteArray);
|
|
775
780
|
}
|
|
776
781
|
|
|
777
782
|
/**
|
|
@@ -1193,6 +1198,7 @@ export default class DigitalSignature {
|
|
|
1193
1198
|
);
|
|
1194
1199
|
readedKey.context = ctx;
|
|
1195
1200
|
readedKey.keyContext = keyCtx;
|
|
1201
|
+
readedKey._glSign = this._glSign;
|
|
1196
1202
|
return readedKey;
|
|
1197
1203
|
} catch (error) {
|
|
1198
1204
|
if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {
|
|
@@ -1262,6 +1268,7 @@ export default class DigitalSignature {
|
|
|
1262
1268
|
);
|
|
1263
1269
|
readedKey.context = ctx;
|
|
1264
1270
|
readedKey.keyContext = keyCtx;
|
|
1271
|
+
readedKey._glSign = this._glSign;
|
|
1265
1272
|
return readedKey;
|
|
1266
1273
|
} catch (error) {
|
|
1267
1274
|
if (error && error.code === EndUserError.EU_ERROR_CERT_NOT_FOUND) {
|
package/src/GlSign.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable no-magic-numbers */
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { EndUserConstants } from "../euscp/euscp";
|
|
4
4
|
import { EU_KSP_DIIA, EU_KSP_GRYADA, getDefaultKSPs } from "./Models";
|
|
5
5
|
import { convertFromBase64, IS_DSTU_7564_DAY } from "./Utils";
|
|
6
6
|
|
|
@@ -102,12 +102,8 @@ export default class GlSign {
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
this.KSPs.forEach(element => {
|
|
105
|
-
if (element.ksp === EU_KSP_DIIA || element.address.includes("acsk.privatbank.ua/cloud") || element.address.includes("cs.vchasno.ua")) {
|
|
106
|
-
|
|
107
|
-
element.signAlgos = [ EndUserSignAlgo.DSTU4145WithDSTU7564 ];
|
|
108
|
-
} else {
|
|
109
|
-
element.signAlgos = [ EndUserSignAlgo.DSTU4145WithGOST34311 ];
|
|
110
|
-
}
|
|
105
|
+
if (/* element.ksp === EU_KSP_DIIA || */ element.address.includes("acsk.privatbank.ua/cloud") || element.address.includes("cs.vchasno.ua")) {
|
|
106
|
+
element.signAlgos = [ EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564, EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311 ];
|
|
111
107
|
}
|
|
112
108
|
// if (element.ksp === EU_KSP_GRYADA) {
|
|
113
109
|
// element.signAlgos = this.HashAlgorithm !== "GOST34311" ? [ EndUserSignAlgo.DSTU4145WithDSTU7564 ] : [ EndUserSignAlgo.DSTU4145WithGOST34311 ];
|
package/src/Models.js
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { EndUserHashAlgo, EndUserSignAlgo } from "../euscp/EndUserConstants";
|
|
2
1
|
import { EndUserCertificate, EndUserError, EndUserOwnerInfo, EndUserConstants, KSPSettings, EndUser, EndUserTaxReport } from "../euscp/euscp";
|
|
3
2
|
import GlSign from "./GlSign";
|
|
4
3
|
import { downloadData, arrayToBase64, base64ToArray, signAlgoToHashAlgo, getSupportedSignAlgos, IS_DSTU_7564_DAY } from "./Utils";
|
|
@@ -414,24 +413,21 @@ export class PrivateKeyInfo {
|
|
|
414
413
|
/**
|
|
415
414
|
* Получить алгоритм подписи
|
|
416
415
|
*/
|
|
417
|
-
getSignAlgo(
|
|
416
|
+
getSignAlgo() {
|
|
418
417
|
const certificates = this.certificates;
|
|
419
418
|
if (this.keyType === DigitalSignatureKeyTypeKSP) {
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
return EndUserSignAlgo.DSTU4145WithGOST34311;
|
|
419
|
+
const ksp = this.ksp;
|
|
420
|
+
if (Array.isArray(ksp.signAlgos) && ksp.signAlgos.length > 0) {
|
|
421
|
+
const signAlgo = ksp.signAlgos[0];
|
|
422
|
+
if (signAlgo === EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564 && this._glsign?.HashAlgorithm === "GOST34311" && ksp.signAlgos.includes(EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311)) {
|
|
423
|
+
return EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311;
|
|
425
424
|
}
|
|
425
|
+
return signAlgo;
|
|
426
426
|
}
|
|
427
|
-
// if (this.ksp.ksp === EU_KSP_GRYADA) {
|
|
428
|
-
// return glsign?.HashAlgorithm !== "GOST34311" ? EndUserSignAlgo.DSTU4145WithDSTU7564 : EndUserSignAlgo.DSTU4145WithGOST34311;
|
|
429
|
-
// }
|
|
430
|
-
|
|
431
427
|
return EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311;
|
|
432
428
|
}
|
|
433
429
|
else if (certificates.length > 0) {
|
|
434
|
-
return getSupportedSignAlgos(certificates,
|
|
430
|
+
return getSupportedSignAlgos(certificates, this._glsign)[0];
|
|
435
431
|
}
|
|
436
432
|
else {
|
|
437
433
|
return EndUserConstants.EndUserSignAlgo.Unknown;
|
|
@@ -441,30 +437,19 @@ export class PrivateKeyInfo {
|
|
|
441
437
|
/**
|
|
442
438
|
* Получить алгоритм хеширования
|
|
443
439
|
*/
|
|
444
|
-
getHashAlgo(
|
|
440
|
+
getHashAlgo() {
|
|
445
441
|
if (this.keyType === DigitalSignatureKeyTypeKSP) {
|
|
446
|
-
|
|
447
|
-
if (IS_DSTU_7564_DAY()) {
|
|
448
|
-
return EndUserHashAlgo.DSTU7564_256;
|
|
449
|
-
} else {
|
|
450
|
-
return EndUserHashAlgo.GOST34311;
|
|
451
|
-
}
|
|
452
|
-
}
|
|
453
|
-
if (this.ksp.ksp === EU_KSP_GRYADA) {
|
|
454
|
-
return glsign?.HashAlgorithm !== "GOST34311" ? EndUserHashAlgo.DSTU7564_256 : EndUserHashAlgo.GOST34311;
|
|
455
|
-
}
|
|
456
|
-
|
|
457
|
-
return EndUserConstants.EndUserHashAlgo.GOST34311;
|
|
442
|
+
return signAlgoToHashAlgo(this.getSignAlgo());
|
|
458
443
|
}
|
|
459
444
|
|
|
460
445
|
const certificates = this.certificates;
|
|
461
446
|
if (certificates.length > 0 && certificates[0]?.infoEx?.certHashType) {
|
|
462
447
|
const hashType = certificates[0].infoEx.certHashType;
|
|
463
448
|
|
|
464
|
-
if (hashType == EndUserConstants.EndUserHashAlgo.GOST34311 &&
|
|
449
|
+
if (hashType == EndUserConstants.EndUserHashAlgo.GOST34311 && this._glsign?.HashAlgorithm !== "GOST34311") {
|
|
465
450
|
return EndUserConstants.EndUserHashAlgo.DSTU7564_256;
|
|
466
451
|
}
|
|
467
|
-
if (hashType == EndUserConstants.EndUserHashAlgo.DSTU7564_256 &&
|
|
452
|
+
if (hashType == EndUserConstants.EndUserHashAlgo.DSTU7564_256 && this._glsign?.HashAlgorithm === "GOST34311") {
|
|
468
453
|
return EndUserConstants.EndUserHashAlgo.GOST34311;
|
|
469
454
|
}
|
|
470
455
|
|
|
@@ -521,17 +506,16 @@ export class KspPrivateKeyInfo extends PrivateKeyInfo {
|
|
|
521
506
|
|
|
522
507
|
export function getDefaultKSPs(allowTest) {
|
|
523
508
|
const depositsign = new KSPSettings();
|
|
524
|
-
depositsign.id = "
|
|
509
|
+
depositsign.id = "DEPOSITSIGN";
|
|
525
510
|
depositsign.name = "DepositSign";
|
|
526
511
|
depositsign.ksp = EndUserConstants.EU_KSP_PB;
|
|
527
512
|
depositsign.address = "https://depositsign.com/api/v1/it-enterprise/sign-server";
|
|
528
513
|
depositsign.clientIdPrefix = "";
|
|
529
514
|
depositsign.directAccess = true;
|
|
530
515
|
depositsign.needQRCode = false;
|
|
531
|
-
depositsign.codeEDRPOU = "43005049";
|
|
532
516
|
|
|
533
517
|
const diia = new KSPSettings();
|
|
534
|
-
diia.id = "
|
|
518
|
+
diia.id = "DIIA-SIGN";
|
|
535
519
|
diia.name = "Дія.Підпис";
|
|
536
520
|
diia.ksp = EndUserConstants.EU_KSP_DIIA;
|
|
537
521
|
diia.directAccess = false;
|
|
@@ -539,11 +523,10 @@ export function getDefaultKSPs(allowTest) {
|
|
|
539
523
|
diia.address = "https://diia-sign.it.ua/KSPSign";
|
|
540
524
|
diia.systemId = "diia-sign-it-ent";
|
|
541
525
|
diia.needQRCode = true;
|
|
542
|
-
diia.codeEDRPOU = "43395033";
|
|
543
526
|
diia.signAlgos = [1];
|
|
544
527
|
|
|
545
528
|
const smartId = new KSPSettings();
|
|
546
|
-
smartId.id = "
|
|
529
|
+
smartId.id = "PB-SMARTID";
|
|
547
530
|
smartId.name = "Приватбанк - хмарний підпис \"SmartID\"";
|
|
548
531
|
smartId.ksp = EndUserConstants.EU_KSP_PB;
|
|
549
532
|
smartId.directAccess = true;
|
|
@@ -552,20 +535,18 @@ export function getDefaultKSPs(allowTest) {
|
|
|
552
535
|
smartId.clientIdPrefix = "IEIS_";
|
|
553
536
|
smartId.confirmationURL = "https://www.privat24.ua/rd/kep";
|
|
554
537
|
smartId.needQRCode = true;
|
|
555
|
-
smartId.codeEDRPOU = "14360570";
|
|
556
538
|
|
|
557
539
|
const vchasno = new KSPSettings();
|
|
558
|
-
vchasno.id = "
|
|
540
|
+
vchasno.id = "VCHASNO";
|
|
559
541
|
vchasno.name = "Вчасно - хмарний підпис";
|
|
560
542
|
vchasno.ksp = EndUserConstants.EU_KSP_PB;
|
|
561
543
|
vchasno.address = "https://cs.vchasno.ua/ss/";
|
|
562
544
|
vchasno.clientIdPrefix = "";
|
|
563
545
|
vchasno.directAccess = false;
|
|
564
546
|
vchasno.needQRCode = false;
|
|
565
|
-
vchasno.codeEDRPOU = "41231992";
|
|
566
547
|
|
|
567
548
|
const vchasnoQR = new KSPSettings();
|
|
568
|
-
vchasnoQR.id = "
|
|
549
|
+
vchasnoQR.id = "VCHASNOQR";
|
|
569
550
|
vchasnoQR.name = "Вчасно - хмарний підпис (QR)";
|
|
570
551
|
vchasnoQR.ksp = EndUserConstants.EU_KSP_PB;
|
|
571
552
|
vchasnoQR.address = "https://cs.vchasno.ua/ss/";
|
|
@@ -576,7 +557,7 @@ export function getDefaultKSPs(allowTest) {
|
|
|
576
557
|
vchasnoQR.needQRCode = true;
|
|
577
558
|
|
|
578
559
|
const cloudKey = new KSPSettings();
|
|
579
|
-
cloudKey.id = "
|
|
560
|
+
cloudKey.id = "CLOUDKEY";
|
|
580
561
|
cloudKey.name = "ТОВ «ЦСК «Україна» - хмарний підпис CloudKey";
|
|
581
562
|
cloudKey.ksp = EndUserConstants.EU_KSP_PB;
|
|
582
563
|
cloudKey.directAccess = true;
|
|
@@ -585,29 +566,28 @@ export function getDefaultKSPs(allowTest) {
|
|
|
585
566
|
cloudKey.clientIdPrefix = "DIIA_2";
|
|
586
567
|
cloudKey.confirmationURL = "https://sid.uakey.com.ua/kep?hash=rd/kep";
|
|
587
568
|
cloudKey.needQRCode = true;
|
|
588
|
-
cloudKey.codeEDRPOU = "36865753";
|
|
589
569
|
|
|
590
570
|
const esign = new KSPSettings();
|
|
591
|
-
esign.id = "
|
|
571
|
+
esign.id = "ESIGN";
|
|
592
572
|
esign.name = "ESign - хмарний підпис";
|
|
593
573
|
esign.ksp = EndUserConstants.EU_KSP_PB;
|
|
594
574
|
esign.address = "https://cabinet.e-life.com.ua/api/EDG/Sign";
|
|
595
575
|
esign.clientIdPrefix = "";
|
|
596
576
|
esign.directAccess = true;
|
|
597
577
|
esign.needQRCode = false;
|
|
598
|
-
esign.codeEDRPOU = "36049014";
|
|
599
578
|
|
|
600
579
|
const smartSignTax = new KSPSettings();
|
|
601
|
-
smartSignTax.id = "
|
|
580
|
+
smartSignTax.id = "SMARTSIGNTAX";
|
|
602
581
|
smartSignTax.name = "ДПС - хмарний підпис";
|
|
603
582
|
smartSignTax.ksp = EndUserConstants.EU_KSP_PB;
|
|
604
583
|
smartSignTax.address = "https://smart-sign.tax.gov.ua/";
|
|
605
584
|
smartSignTax.port = "443";
|
|
606
585
|
smartSignTax.directAccess = true;
|
|
607
586
|
smartSignTax.clientIdType = EndUserKSPClientIdType.Name;
|
|
587
|
+
smartSignTax.needQRCode = false;
|
|
608
588
|
|
|
609
589
|
const pumb = new KSPSettings();
|
|
610
|
-
pumb.id = "
|
|
590
|
+
pumb.id = "PUMB";
|
|
611
591
|
pumb.name = "ПУМБ - хмарний підпис";
|
|
612
592
|
pumb.ksp = EndUserConstants.EU_KSP_PB;
|
|
613
593
|
pumb.address = "https://apiext.pumb.ua/hogsmeade/striga/v1";
|
|
@@ -615,15 +595,17 @@ export function getDefaultKSPs(allowTest) {
|
|
|
615
595
|
pumb.clientIdPrefix = "SMARTTENDER_";
|
|
616
596
|
pumb.confirmationURL = "https://www.pumb.ua/qes";
|
|
617
597
|
pumb.mobileAppName = "";
|
|
598
|
+
pumb.needQRCode = true;
|
|
618
599
|
|
|
619
600
|
const ugb = new KSPSettings();
|
|
620
|
-
ugb.id = "
|
|
601
|
+
ugb.id = "UGB";
|
|
621
602
|
ugb.name = "Укргазбанк - хмарний підпис «EcoSign»";
|
|
622
603
|
ugb.ksp = EndUserKSP.VTOKEN;
|
|
623
604
|
ugb.address = "https://vtms-api-qca.ukrgasbank.com/vtco/api/v1";
|
|
624
605
|
ugb.systemId = "cihsmVtcoServiceClientSmartTender";
|
|
625
606
|
ugb.directAccess = true;
|
|
626
607
|
ugb.clientIdType = EndUserKSPClientIdType.NamePassword;
|
|
608
|
+
ugb.needQRCode = false;
|
|
627
609
|
|
|
628
610
|
const alliance = new KSPSettings();
|
|
629
611
|
alliance.id = "alliance";
|
|
@@ -633,6 +615,7 @@ export function getDefaultKSPs(allowTest) {
|
|
|
633
615
|
alliance.systemId = "cihsmVtcoServiceClientSmartTender";
|
|
634
616
|
alliance.directAccess = true;
|
|
635
617
|
alliance.clientIdType = EndUserKSPClientIdType.NamePassword;
|
|
618
|
+
alliance.needQRCode = false;
|
|
636
619
|
|
|
637
620
|
const vtoken = new KSPSettings();
|
|
638
621
|
vtoken.id = "vtoken";
|
|
@@ -642,6 +625,64 @@ export function getDefaultKSPs(allowTest) {
|
|
|
642
625
|
vtoken.systemId = "cipherVTokenIntegrationClient";
|
|
643
626
|
vtoken.directAccess = true;
|
|
644
627
|
vtoken.clientIdType = EndUserKSPClientIdType.NamePassword;
|
|
628
|
+
vtoken.needQRCode = false;
|
|
629
|
+
|
|
630
|
+
const amokey = new KSPSettings();
|
|
631
|
+
amokey.id = "AMOKEY";
|
|
632
|
+
amokey.name = "АМО ФІНТЕХ – хмарний підпис AMOKEY";
|
|
633
|
+
amokey.ksp = EndUserKSP.PB;
|
|
634
|
+
amokey.address = "https://sserver.amokey.com";
|
|
635
|
+
amokey.port = "443";
|
|
636
|
+
amokey.clientIdPrefix = "";
|
|
637
|
+
amokey.directAccess = true;
|
|
638
|
+
amokey.clientIdType = EndUserKSPClientIdType.Name;
|
|
639
|
+
amokey.needQRCode = false;
|
|
640
|
+
|
|
641
|
+
const tascombank = new KSPSettings();
|
|
642
|
+
tascombank.id = "TASCOMBANK";
|
|
643
|
+
tascombank.name = "Сервер підпису КНЕДП АТ \"ТАСКОМБАНК\"";
|
|
644
|
+
tascombank.ksp = EndUserKSP.PB;
|
|
645
|
+
tascombank.address = "https://smartsign.tascombank.ua";
|
|
646
|
+
tascombank.port = "443";
|
|
647
|
+
tascombank.clientIdPrefix = "";
|
|
648
|
+
tascombank.directAccess = true;
|
|
649
|
+
tascombank.clientIdType = EndUserKSPClientIdType.Name;
|
|
650
|
+
tascombank.needQRCode = false;
|
|
651
|
+
|
|
652
|
+
const edinQr = new KSPSettings();
|
|
653
|
+
edinQr.id = "EDINQR";
|
|
654
|
+
edinQr.name = "EDIN ID - хмарний підпис (QR)";
|
|
655
|
+
edinQr.ksp = EndUserKSP.PB;
|
|
656
|
+
edinQr.address = "https://id.edin.ua/api/ess/v1/";
|
|
657
|
+
edinQr.confirmationURL = "https://id.edin.ua/mobile/sign";
|
|
658
|
+
edinQr.port = "";
|
|
659
|
+
edinQr.clientIdPrefix = "EDIN_";
|
|
660
|
+
edinQr.directAccess = true;
|
|
661
|
+
edinQr.mobileAppName = "edinid";
|
|
662
|
+
edinQr.needQRCode = true;
|
|
663
|
+
|
|
664
|
+
const edin = new KSPSettings();
|
|
665
|
+
edin.id = "EDIN";
|
|
666
|
+
edin.name = "EDIN ID - хмарний підпис";
|
|
667
|
+
edin.ksp = EndUserKSP.PB;
|
|
668
|
+
edin.address = "https://id.edin.ua/api/ess/v1/";
|
|
669
|
+
edin.port = "";
|
|
670
|
+
edin.clientIdPrefix = "";
|
|
671
|
+
edin.directAccess = true;
|
|
672
|
+
edin.clientIdType = EndUserKSPClientIdType.Name;
|
|
673
|
+
edin.needQRCode = false;
|
|
674
|
+
|
|
675
|
+
const ukrsibbank = new KSPSettings();
|
|
676
|
+
ukrsibbank.id = "UKRSIBBANK";
|
|
677
|
+
ukrsibbank.name = "УКРСИББАНК - хмарний підпис";
|
|
678
|
+
ukrsibbank.ksp = EndUserKSP.PB;
|
|
679
|
+
ukrsibbank.address = "https://business.ukrsibbank.com/morpheus/smart-sign/";
|
|
680
|
+
ukrsibbank.confirmationURL = "https://business.ukrsibbank.com/smartsign";
|
|
681
|
+
ukrsibbank.port = "";
|
|
682
|
+
ukrsibbank.clientIdPrefix = "USB_";
|
|
683
|
+
ukrsibbank.directAccess = true;
|
|
684
|
+
ukrsibbank.mobileAppName = "UKRSIB business";
|
|
685
|
+
ukrsibbank.needQRCode = true;
|
|
645
686
|
|
|
646
687
|
const ksps = [
|
|
647
688
|
depositsign,
|
|
@@ -654,7 +695,12 @@ export function getDefaultKSPs(allowTest) {
|
|
|
654
695
|
smartSignTax,
|
|
655
696
|
pumb,
|
|
656
697
|
ugb,
|
|
657
|
-
alliance
|
|
698
|
+
alliance,
|
|
699
|
+
amokey,
|
|
700
|
+
tascombank,
|
|
701
|
+
edinQr,
|
|
702
|
+
edin,
|
|
703
|
+
ukrsibbank
|
|
658
704
|
];
|
|
659
705
|
|
|
660
706
|
if (allowTest) {
|
package/src/Utils.js
CHANGED
|
@@ -201,6 +201,7 @@ export function signAlgoToHashAlgo(signAlgo) {
|
|
|
201
201
|
case EndUserConstants.EndUserSignAlgo.ECDSAWithSHA:
|
|
202
202
|
return EndUserConstants.EndUserHashAlgo.SHA256;
|
|
203
203
|
case EndUserConstants.EndUserSignAlgo.DSTU4145WithGOST34311:
|
|
204
|
+
return EndUserConstants.EndUserHashAlgo.GOST34311;
|
|
204
205
|
case EndUserConstants.EndUserSignAlgo.DSTU4145WithDSTU7564:
|
|
205
206
|
return EndUserConstants.EndUserHashAlgo.DSTU7564_256;
|
|
206
207
|
default:
|