@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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@it-enterprise/digital-signature",
3
- "version": "1.3.18",
3
+ "version": "1.3.20",
4
4
  "description": "digital signature",
5
5
  "private": false,
6
6
  "main": "src/index.js",
@@ -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, signAlgoToHashAlgo } from "./Utils";
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 === "depositsign");
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 === "diia-sign");
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(this.glSign);
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(this.glSign), data, !asByteArray);
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(this.glSign), data, !asByteArray);
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(this.glSign), hash, true, !asByteArray);
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 { EndUserSignAlgo } from "../euscp/EndUserConstants";
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
- if (IS_DSTU_7564_DAY()) {
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(glsign = null) {
416
+ getSignAlgo() {
418
417
  const certificates = this.certificates;
419
418
  if (this.keyType === DigitalSignatureKeyTypeKSP) {
420
- if (this.ksp.ksp === EU_KSP_DIIA || this.ksp.address.includes("acsk.privatbank.ua/cloud") || this.ksp.address.includes("cs.vchasno.ua")) {
421
- if (IS_DSTU_7564_DAY()) {
422
- return EndUserSignAlgo.DSTU4145WithDSTU7564;
423
- } else {
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, glsign)[0];
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(glsign = null) {
440
+ getHashAlgo() {
445
441
  if (this.keyType === DigitalSignatureKeyTypeKSP) {
446
- if (this.ksp.ksp === EU_KSP_DIIA || this.ksp.address.includes("acsk.privatbank.ua/cloud") || this.ksp.address.includes("cs.vchasno.ua")) {
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 && glsign?.HashAlgorithm !== "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 && glsign?.HashAlgorithm === "GOST34311") {
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 = "depositsign";
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 = "diia-sign";
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 = "pb-smartid";
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 = "vchasno";
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 = "vchasnoQR";
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 = "cloudkey";
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 = "esign";
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 = "smartsigntax";
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 = "pumb";
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 = "ugb";
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: