@it-enterprise/digital-signature 1.3.0 → 1.3.2
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/EndUserClientRegistrationToken.d.ts +7 -0
- package/euscp/euscp.d.ts +11 -3
- package/euscp/euscp.js +2 -2
- package/package.json +1 -1
- package/readme.md +72 -25
- package/src/DigitalSignature.js +11 -3
- package/src/euscp.worker.js +57 -27
- package/worker/{euscp.worker.ex-1.3.74.js → euscp.worker.ex-1.3.75.js} +57 -27
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -504,18 +504,20 @@ await ds.removeStoredPrivateKeyInfo(
|
|
|
504
504
|
|
|
505
505
|
Функции создания подписей поддерживают возможность выбирать формат контейнера подписи
|
|
506
506
|
Формат подписи указывается в опциональном параметре signFormat
|
|
507
|
-
По умолчанию используется формат подписи CAdES Detached
|
|
507
|
+
По умолчанию используется формат подписи CAdES-X-Long Detached
|
|
508
508
|
|
|
509
509
|
Структура объекта, описывающего формат подписи
|
|
510
510
|
|
|
511
511
|
```javascript
|
|
512
512
|
class EndUserSignContainerInfo {
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
513
|
+
// Тип контейнера подписи
|
|
514
|
+
type: EndUserSignContainerType;
|
|
515
|
+
// Уточняющий тип подписи
|
|
516
|
+
subType: EndUserCAdESType | EndUserXAdESType | EndUserASiCType;
|
|
517
|
+
// Тип подписи в ASiC контейнере (только для ASiC контейнеров)
|
|
518
|
+
asicSignType: EndUserASiCSignType;
|
|
519
|
+
// Уровень подписи
|
|
520
|
+
signLevel: EndUserSignType | EndUserXAdESSignLevel | EndUserPAdESSignLevel;
|
|
519
521
|
}
|
|
520
522
|
import { EUSignCP.EndUserSignContainerInfo } from "@it-enterprise/digital-signature";
|
|
521
523
|
```
|
|
@@ -526,14 +528,14 @@ const EU_SIGN_CONTAINER_TYPE_XADES = 2;
|
|
|
526
528
|
const EU_SIGN_CONTAINER_TYPE_PADES = 3;
|
|
527
529
|
const EU_SIGN_CONTAINER_TYPE_ASIC = 4;
|
|
528
530
|
enum EndUserSignContainerType {
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
531
|
+
// CMS подпись в двоичном формате. Используется по умолчанию
|
|
532
|
+
CAdES,
|
|
533
|
+
// Подпись в формате XML. Может содержать одновременно несколько наборов данных
|
|
534
|
+
XAdES,
|
|
535
|
+
// Подпись в PDF документе (Работает только с PDF файлами)
|
|
536
|
+
PAdES,
|
|
537
|
+
// Контейнер для подписей в виде ZIP-архива
|
|
538
|
+
ASiC
|
|
537
539
|
}
|
|
538
540
|
import { EUSignCP.EndUserConstants.EndUserSignContainerType } from "@it-enterprise/digital-signature";
|
|
539
541
|
```
|
|
@@ -542,25 +544,67 @@ import { EUSignCP.EndUserConstants.EndUserSignContainerType } from "@it-enterpri
|
|
|
542
544
|
const EU_CADES_TYPE_DETACHED = 1;
|
|
543
545
|
const EU_CADES_TYPE_ENVELOPED = 3;
|
|
544
546
|
enum EndUserCAdESType {
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
547
|
+
// Подпись отдельно от данных (внешняя подпись). Используется по умолчанию
|
|
548
|
+
Detached,
|
|
549
|
+
// Подпись в одном контейнере с данными (внутренняя подпись)
|
|
550
|
+
Enveloped
|
|
549
551
|
}
|
|
550
552
|
import { EUSignCP.EndUserConstants.EndUserCAdESType } from "@it-enterprise/digital-signature";
|
|
551
553
|
```
|
|
554
|
+
Уровни подписей CAdES
|
|
555
|
+
```javascript
|
|
556
|
+
export declare const EU_SIGN_TYPE_CADES_BES = 1;
|
|
557
|
+
export declare const EU_SIGN_TYPE_CADES_T = 4;
|
|
558
|
+
export declare const EU_SIGN_TYPE_CADES_X_LONG = 16;
|
|
559
|
+
export declare enum EndUserSignType {
|
|
560
|
+
// Базовая подпись
|
|
561
|
+
CAdES_BES,
|
|
562
|
+
// Подпись с меткой времени
|
|
563
|
+
CAdES_T,
|
|
564
|
+
// Подпись для длительного хранения с полными данными для проверки
|
|
565
|
+
CAdES_X_Long
|
|
566
|
+
}
|
|
567
|
+
import { EUSignCP.EndUserConstants.EndUserSignType } from "@it-enterprise/digital-signature";
|
|
568
|
+
```
|
|
552
569
|
Типы подписей XAdES
|
|
553
570
|
```javascript
|
|
554
571
|
const EU_XADES_TYPE_DETACHED = 1;
|
|
555
572
|
const EU_XADES_TYPE_ENVELOPED = 3;
|
|
556
573
|
enum EndUserXAdESType {
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
574
|
+
// Подпись отдельно от данных (внешняя подпись)
|
|
575
|
+
Detached,
|
|
576
|
+
// Подпись в одном контейнере с данными (внутренняя подпись) !! Данные могут быть только в формате XML !!
|
|
577
|
+
Enveloped
|
|
561
578
|
}
|
|
562
579
|
import { EUSignCP.EndUserConstants.EndUserXAdESType } from "@it-enterprise/digital-signature";
|
|
563
580
|
```
|
|
581
|
+
Уровни подписей XAdES
|
|
582
|
+
```javascript
|
|
583
|
+
export declare const EU_XADES_SIGN_LEVEL_B_B = 1;
|
|
584
|
+
export declare const EU_XADES_SIGN_LEVEL_B_T = 4;
|
|
585
|
+
export declare const EU_XADES_SIGN_LEVEL_B_LT = 16;
|
|
586
|
+
export declare enum EndUserXAdESSignLevel {
|
|
587
|
+
// Базовая подпись
|
|
588
|
+
B_B,
|
|
589
|
+
// Подпись с меткой времени
|
|
590
|
+
B_T,
|
|
591
|
+
// Подпись для длительного хранения с полными данными для проверки
|
|
592
|
+
B_LT
|
|
593
|
+
}
|
|
594
|
+
import { EUSignCP.EndUserConstants.EndUserXAdESSignLevel } from "@it-enterprise/digital-signature";
|
|
595
|
+
```
|
|
596
|
+
Уровни подписей PAdES
|
|
597
|
+
```javascript
|
|
598
|
+
export declare const EU_PADES_SIGN_LEVEL_B_B = 1;
|
|
599
|
+
export declare const EU_PADES_SIGN_LEVEL_B_T = 4;
|
|
600
|
+
export declare enum EndUserPAdESSignLevel {
|
|
601
|
+
// Базовая подпись
|
|
602
|
+
B_B,
|
|
603
|
+
// Подпись с меткой времени
|
|
604
|
+
B_T
|
|
605
|
+
}
|
|
606
|
+
import { EUSignCP.EndUserConstants.EndUserPAdESSignLevel } from "@it-enterprise/digital-signature";
|
|
607
|
+
```
|
|
564
608
|
Типы контейнеров ASiC
|
|
565
609
|
```javascript
|
|
566
610
|
const EU_ASIC_TYPE_S = 1;
|
|
@@ -594,16 +638,19 @@ const file = {
|
|
|
594
638
|
const asicsformat = {
|
|
595
639
|
type: EndUserSignContainerType.ASiC,
|
|
596
640
|
subType: EndUserASiCType.S,
|
|
597
|
-
asicSignType: EndUserASiCSignType.XAdES
|
|
641
|
+
asicSignType: EndUserASiCSignType.XAdES,
|
|
642
|
+
signLevel: EndUserXAdESSignLevel.B_LT
|
|
598
643
|
};
|
|
599
644
|
// Формат PAdES
|
|
600
645
|
const padesformat = {
|
|
601
646
|
type: EndUserSignContainerType.PAdES,
|
|
647
|
+
signLevel: EndUserPAdESSignLevel.B_T
|
|
602
648
|
};
|
|
603
649
|
// Внутренняя CAdES подпись
|
|
604
650
|
const cadesformat {
|
|
605
651
|
type: EndUserSignContainerType.CAdES,
|
|
606
|
-
subType: EndUserCAdESType.Enveloped
|
|
652
|
+
subType: EndUserCAdESType.Enveloped,
|
|
653
|
+
signLevel: EndUserSignType.CAdES_X_Long
|
|
607
654
|
};
|
|
608
655
|
|
|
609
656
|
const asics = await ds.signFile(file, asicsformat);
|
package/src/DigitalSignature.js
CHANGED
|
@@ -596,11 +596,13 @@ export default class DigitalSignature {
|
|
|
596
596
|
signType = new EndUserSignContainerInfo();
|
|
597
597
|
signType.type = EndUserConstants.EndUserSignContainerType.CAdES;
|
|
598
598
|
signType.subType = EndUserConstants.EndUserCAdESType.Enveloped;
|
|
599
|
+
signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;
|
|
599
600
|
} else if (isDefaultValue(signType)) {
|
|
600
601
|
// По умолчанию создаётся подпись CAdES Detached
|
|
601
602
|
signType = new EndUserSignContainerInfo();
|
|
602
603
|
signType.type = EndUserConstants.EndUserSignContainerType.CAdES;
|
|
603
604
|
signType.subType = EndUserConstants.EndUserCAdESType.Detached;
|
|
605
|
+
signType.signLevel = EndUserConstants.EndUserSignType.CAdES_X_Long;
|
|
604
606
|
}
|
|
605
607
|
if (typeof asByteArray !== "boolean") {
|
|
606
608
|
asByteArray = false;
|
|
@@ -614,7 +616,7 @@ export default class DigitalSignature {
|
|
|
614
616
|
}
|
|
615
617
|
|
|
616
618
|
if (signType.type === EndUserConstants.EndUserSignContainerType.ASiC) {
|
|
617
|
-
const signLevel = signType.asicSignType === EndUserConstants.EndUserASiCSignType.CAdES ? EndUserConstants.EndUserSignType.CAdES_X_Long : EndUserConstants.EndUserXAdESSignLevel.B_LT;
|
|
619
|
+
const signLevel = signType.signLevel || signType.asicSignType === EndUserConstants.EndUserASiCSignType.CAdES ? EndUserConstants.EndUserSignType.CAdES_X_Long : EndUserConstants.EndUserXAdESSignLevel.B_LT;
|
|
618
620
|
return await this._euSign.ASiCSignData(this._readedKey.getSignAlgo(), signType.subType, signType.asicSignType, signLevel, data, !asByteArray);
|
|
619
621
|
} else if (signType.type === EndUserConstants.EndUserSignContainerType.XAdES) {
|
|
620
622
|
let returnArray = true;
|
|
@@ -623,15 +625,21 @@ export default class DigitalSignature {
|
|
|
623
625
|
returnArray = false;
|
|
624
626
|
}
|
|
625
627
|
data = data.map((e, i) => !e.name && !e.val ? { name: "data" + i, val: e } : e);
|
|
628
|
+
const signLevel = signType.signLevel || EndUserConstants.EndUserXAdESSignLevel.B_LT;
|
|
626
629
|
const signs = [];
|
|
627
630
|
for (let i = 0; i < data.length; i++) {
|
|
628
|
-
const result = await this._euSign.XAdESSignData(this._readedKey.getSignAlgo(), signType.subType,
|
|
631
|
+
const result = await this._euSign.XAdESSignData(this._readedKey.getSignAlgo(), signType.subType, signLevel, data[i], !asByteArray);
|
|
629
632
|
signs[i] = result;
|
|
630
633
|
}
|
|
631
634
|
return returnArray ? signs : signs[0];
|
|
632
635
|
} else if (signType.type === EndUserConstants.EndUserSignContainerType.PAdES) {
|
|
633
|
-
|
|
636
|
+
const signLevel = signType.signLevel || EndUserConstants.EndUserPAdESSignLevel.B_T;
|
|
637
|
+
return await this._euSign.PDFSignData(this._readedKey.getSignAlgo(), data, signLevel, !asByteArray);
|
|
634
638
|
} else if (signType.type === EndUserConstants.EndUserSignContainerType.CAdES) {
|
|
639
|
+
const signLevel = signType.signLevel || EndUserConstants.EndUserSignType.CAdES_X_Long;
|
|
640
|
+
|
|
641
|
+
await this._euSign.SetRuntimeParameter(EndUserConstants.EU_SIGN_TYPE_PARAMETER, signLevel);
|
|
642
|
+
|
|
635
643
|
if (signType.subType === EndUserConstants.EndUserCAdESType.Detached) {
|
|
636
644
|
const hash = await this._euSign.HashData(this._readedKey.getHashAlgo(), data, !asByteArray);
|
|
637
645
|
return await this._euSign.SignHash(this._readedKey.getSignAlgo(), hash, true, !asByteArray);
|
package/src/euscp.worker.js
CHANGED
|
@@ -11726,6 +11726,11 @@ EndUserKSP.prototype._SendKSPRequest = function(
|
|
|
11726
11726
|
command = EndUserKSP.EU_KSP_COMMAND_GET_SIGN_HASHES_RESULT;
|
|
11727
11727
|
break;
|
|
11728
11728
|
case EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION:
|
|
11729
|
+
if (!onSign) {
|
|
11730
|
+
onSuccess(response.data.transactionId);
|
|
11731
|
+
return;
|
|
11732
|
+
}
|
|
11733
|
+
|
|
11729
11734
|
command = EndUserKSP.EU_KSP_COMMAND_GET_USER_REGISTRATION_RESULT;
|
|
11730
11735
|
|
|
11731
11736
|
try {
|
|
@@ -12953,11 +12958,12 @@ EndUserKSP.prototype.MakeNewCertificate = function(
|
|
|
12953
12958
|
//-------------------------------------------------------------------------------
|
|
12954
12959
|
|
|
12955
12960
|
EndUserKSP.prototype.GetClientRegistrationToken = function(
|
|
12956
|
-
pkContext, ksp, onSuccess, onError) {
|
|
12961
|
+
pkContext, ksp, parameters, onSuccess, onError) {
|
|
12957
12962
|
var pThis = this;
|
|
12958
12963
|
var kspSettings = pThis._GetKSPSettings(ksp);
|
|
12964
|
+
var command = EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION;
|
|
12959
12965
|
|
|
12960
|
-
if (!pkContext) {
|
|
12966
|
+
if (!pkContext && !parameters) {
|
|
12961
12967
|
setTimeout(function() {
|
|
12962
12968
|
var error = pThis.MakeError(
|
|
12963
12969
|
EU_ERROR_BAD_CERT, null);
|
|
@@ -12975,42 +12981,55 @@ EndUserKSP.prototype.GetClientRegistrationToken = function(
|
|
|
12975
12981
|
return;
|
|
12976
12982
|
}
|
|
12977
12983
|
|
|
12978
|
-
if (!kspSettings ||
|
|
12979
|
-
!kspSettings.registrationURL) {
|
|
12980
|
-
setTimeout(function() {
|
|
12981
|
-
var error = pThis.MakeError(
|
|
12982
|
-
EU_ERROR_BAD_PARAMETER, null);
|
|
12983
|
-
onError(error);
|
|
12984
|
-
}, 1);
|
|
12985
|
-
return;
|
|
12986
|
-
}
|
|
12987
|
-
|
|
12988
12984
|
var params = {
|
|
12989
12985
|
"ksp": kspSettings.ksp
|
|
12990
12986
|
};
|
|
12991
12987
|
|
|
12988
|
+
if (parameters &&
|
|
12989
|
+
parameters['transactionId'] &&
|
|
12990
|
+
parameters['signature']) {
|
|
12991
|
+
params['transactionId'] = parameters['transactionId'];
|
|
12992
|
+
params['signature'] = parameters['signature'];
|
|
12993
|
+
command = EndUserKSP.EU_KSP_COMMAND_GET_USER_REGISTRATION_RESULT;
|
|
12994
|
+
}
|
|
12995
|
+
|
|
12992
12996
|
var expireDate = pThis._MakeExpireDate(
|
|
12993
12997
|
EndUserKSP.EU_KSP_COMMAND_EXPIRE_TIME);
|
|
12994
12998
|
pThis.m_activeOperation = true;
|
|
12995
12999
|
|
|
13000
|
+
var _onSign = function(data) {
|
|
13001
|
+
var signAlgo = pThis._GetSignAlgoByCertificate(
|
|
13002
|
+
pThis.m_euSign.CtxEnumOwnCertificates(pkContext, 0));
|
|
13003
|
+
var external = true;
|
|
13004
|
+
var appendCert = true;
|
|
13005
|
+
var asBase64String = true;
|
|
13006
|
+
|
|
13007
|
+
return pThis.m_euSign.CtxSignData(
|
|
13008
|
+
pkContext, signAlgo, data,
|
|
13009
|
+
external, appendCert, asBase64String);
|
|
13010
|
+
};
|
|
13011
|
+
|
|
12996
13012
|
pThis._SendKSPRequest(
|
|
12997
|
-
kspSettings,
|
|
12998
|
-
EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION,
|
|
13013
|
+
kspSettings, command,
|
|
12999
13014
|
params, expireDate,
|
|
13000
|
-
|
|
13001
|
-
var signAlgo = pThis._GetSignAlgoByCertificate(
|
|
13002
|
-
pThis.m_euSign.CtxEnumOwnCertificates(pkContext, 0));
|
|
13003
|
-
var external = true;
|
|
13004
|
-
var appendCert = true;
|
|
13005
|
-
var asBase64String = true;
|
|
13006
|
-
|
|
13007
|
-
return pThis.m_euSign.CtxSignData(
|
|
13008
|
-
pkContext, signAlgo, data,
|
|
13009
|
-
external, appendCert, asBase64String);
|
|
13010
|
-
},
|
|
13015
|
+
!parameters ? _onSign : null,
|
|
13011
13016
|
function(data) {
|
|
13012
13017
|
pThis.m_activeOperation = false;
|
|
13013
13018
|
|
|
13019
|
+
if (parameters && command ==
|
|
13020
|
+
EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION) {
|
|
13021
|
+
if (!data) {
|
|
13022
|
+
var error = pThis.MakeError(
|
|
13023
|
+
EU_ERROR_TRANSMIT_REQUEST, null);
|
|
13024
|
+
onError(error);
|
|
13025
|
+
return;
|
|
13026
|
+
}
|
|
13027
|
+
|
|
13028
|
+
onSuccess(data);
|
|
13029
|
+
|
|
13030
|
+
return;
|
|
13031
|
+
}
|
|
13032
|
+
|
|
13014
13033
|
if (!data || !data.token) {
|
|
13015
13034
|
var error = pThis.MakeError(
|
|
13016
13035
|
EU_ERROR_TRANSMIT_REQUEST, null);
|
|
@@ -14866,6 +14885,17 @@ EndUser.prototype.MakeDeviceCertificate = function(deviceName,
|
|
|
14866
14885
|
|
|
14867
14886
|
//-------------------------------------------------------------------------------
|
|
14868
14887
|
|
|
14888
|
+
EndUser.prototype.SetKeyMediaUserPassword = function(
|
|
14889
|
+
soPassword, keyMedia, onSuccess, onError) {
|
|
14890
|
+
try {
|
|
14891
|
+
this.m_euSign.RaiseError(EU_ERROR_NOT_SUPPORTED);
|
|
14892
|
+
} catch (e) {
|
|
14893
|
+
onError(e);
|
|
14894
|
+
}
|
|
14895
|
+
};
|
|
14896
|
+
|
|
14897
|
+
//-------------------------------------------------------------------------------
|
|
14898
|
+
|
|
14869
14899
|
EndUser.prototype.ChangePrivateKeyPassword = function(
|
|
14870
14900
|
keyMedia, newPassword, onSuccess, onError) {
|
|
14871
14901
|
try {
|
|
@@ -15001,11 +15031,11 @@ EndUser.prototype.GetKeyInfoBinary = function(
|
|
|
15001
15031
|
//-------------------------------------------------------------------------------
|
|
15002
15032
|
|
|
15003
15033
|
EndUser.prototype.GetClientRegistrationTokenKSP = function(
|
|
15004
|
-
ksp, onSuccess, onError) {
|
|
15034
|
+
ksp, parameters, onSuccess, onError) {
|
|
15005
15035
|
var pThis = this;
|
|
15006
15036
|
|
|
15007
15037
|
pThis.m_euKSP.GetClientRegistrationToken(
|
|
15008
|
-
pThis.m_pkContext, ksp, onSuccess, onError);
|
|
15038
|
+
pThis.m_pkContext, ksp, parameters, onSuccess, onError);
|
|
15009
15039
|
};
|
|
15010
15040
|
|
|
15011
15041
|
//-------------------------------------------------------------------------------
|
|
@@ -11726,6 +11726,11 @@ EndUserKSP.prototype._SendKSPRequest = function(
|
|
|
11726
11726
|
command = EndUserKSP.EU_KSP_COMMAND_GET_SIGN_HASHES_RESULT;
|
|
11727
11727
|
break;
|
|
11728
11728
|
case EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION:
|
|
11729
|
+
if (!onSign) {
|
|
11730
|
+
onSuccess(response.data.transactionId);
|
|
11731
|
+
return;
|
|
11732
|
+
}
|
|
11733
|
+
|
|
11729
11734
|
command = EndUserKSP.EU_KSP_COMMAND_GET_USER_REGISTRATION_RESULT;
|
|
11730
11735
|
|
|
11731
11736
|
try {
|
|
@@ -12953,11 +12958,12 @@ EndUserKSP.prototype.MakeNewCertificate = function(
|
|
|
12953
12958
|
//-------------------------------------------------------------------------------
|
|
12954
12959
|
|
|
12955
12960
|
EndUserKSP.prototype.GetClientRegistrationToken = function(
|
|
12956
|
-
pkContext, ksp, onSuccess, onError) {
|
|
12961
|
+
pkContext, ksp, parameters, onSuccess, onError) {
|
|
12957
12962
|
var pThis = this;
|
|
12958
12963
|
var kspSettings = pThis._GetKSPSettings(ksp);
|
|
12964
|
+
var command = EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION;
|
|
12959
12965
|
|
|
12960
|
-
if (!pkContext) {
|
|
12966
|
+
if (!pkContext && !parameters) {
|
|
12961
12967
|
setTimeout(function() {
|
|
12962
12968
|
var error = pThis.MakeError(
|
|
12963
12969
|
EU_ERROR_BAD_CERT, null);
|
|
@@ -12975,42 +12981,55 @@ EndUserKSP.prototype.GetClientRegistrationToken = function(
|
|
|
12975
12981
|
return;
|
|
12976
12982
|
}
|
|
12977
12983
|
|
|
12978
|
-
if (!kspSettings ||
|
|
12979
|
-
!kspSettings.registrationURL) {
|
|
12980
|
-
setTimeout(function() {
|
|
12981
|
-
var error = pThis.MakeError(
|
|
12982
|
-
EU_ERROR_BAD_PARAMETER, null);
|
|
12983
|
-
onError(error);
|
|
12984
|
-
}, 1);
|
|
12985
|
-
return;
|
|
12986
|
-
}
|
|
12987
|
-
|
|
12988
12984
|
var params = {
|
|
12989
12985
|
"ksp": kspSettings.ksp
|
|
12990
12986
|
};
|
|
12991
12987
|
|
|
12988
|
+
if (parameters &&
|
|
12989
|
+
parameters['transactionId'] &&
|
|
12990
|
+
parameters['signature']) {
|
|
12991
|
+
params['transactionId'] = parameters['transactionId'];
|
|
12992
|
+
params['signature'] = parameters['signature'];
|
|
12993
|
+
command = EndUserKSP.EU_KSP_COMMAND_GET_USER_REGISTRATION_RESULT;
|
|
12994
|
+
}
|
|
12995
|
+
|
|
12992
12996
|
var expireDate = pThis._MakeExpireDate(
|
|
12993
12997
|
EndUserKSP.EU_KSP_COMMAND_EXPIRE_TIME);
|
|
12994
12998
|
pThis.m_activeOperation = true;
|
|
12995
12999
|
|
|
13000
|
+
var _onSign = function(data) {
|
|
13001
|
+
var signAlgo = pThis._GetSignAlgoByCertificate(
|
|
13002
|
+
pThis.m_euSign.CtxEnumOwnCertificates(pkContext, 0));
|
|
13003
|
+
var external = true;
|
|
13004
|
+
var appendCert = true;
|
|
13005
|
+
var asBase64String = true;
|
|
13006
|
+
|
|
13007
|
+
return pThis.m_euSign.CtxSignData(
|
|
13008
|
+
pkContext, signAlgo, data,
|
|
13009
|
+
external, appendCert, asBase64String);
|
|
13010
|
+
};
|
|
13011
|
+
|
|
12996
13012
|
pThis._SendKSPRequest(
|
|
12997
|
-
kspSettings,
|
|
12998
|
-
EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION,
|
|
13013
|
+
kspSettings, command,
|
|
12999
13014
|
params, expireDate,
|
|
13000
|
-
|
|
13001
|
-
var signAlgo = pThis._GetSignAlgoByCertificate(
|
|
13002
|
-
pThis.m_euSign.CtxEnumOwnCertificates(pkContext, 0));
|
|
13003
|
-
var external = true;
|
|
13004
|
-
var appendCert = true;
|
|
13005
|
-
var asBase64String = true;
|
|
13006
|
-
|
|
13007
|
-
return pThis.m_euSign.CtxSignData(
|
|
13008
|
-
pkContext, signAlgo, data,
|
|
13009
|
-
external, appendCert, asBase64String);
|
|
13010
|
-
},
|
|
13015
|
+
!parameters ? _onSign : null,
|
|
13011
13016
|
function(data) {
|
|
13012
13017
|
pThis.m_activeOperation = false;
|
|
13013
13018
|
|
|
13019
|
+
if (parameters && command ==
|
|
13020
|
+
EndUserKSP.EU_KSP_COMMAND_INITIALIZE_USER_REGISTRATION) {
|
|
13021
|
+
if (!data) {
|
|
13022
|
+
var error = pThis.MakeError(
|
|
13023
|
+
EU_ERROR_TRANSMIT_REQUEST, null);
|
|
13024
|
+
onError(error);
|
|
13025
|
+
return;
|
|
13026
|
+
}
|
|
13027
|
+
|
|
13028
|
+
onSuccess(data);
|
|
13029
|
+
|
|
13030
|
+
return;
|
|
13031
|
+
}
|
|
13032
|
+
|
|
13014
13033
|
if (!data || !data.token) {
|
|
13015
13034
|
var error = pThis.MakeError(
|
|
13016
13035
|
EU_ERROR_TRANSMIT_REQUEST, null);
|
|
@@ -14866,6 +14885,17 @@ EndUser.prototype.MakeDeviceCertificate = function(deviceName,
|
|
|
14866
14885
|
|
|
14867
14886
|
//-------------------------------------------------------------------------------
|
|
14868
14887
|
|
|
14888
|
+
EndUser.prototype.SetKeyMediaUserPassword = function(
|
|
14889
|
+
soPassword, keyMedia, onSuccess, onError) {
|
|
14890
|
+
try {
|
|
14891
|
+
this.m_euSign.RaiseError(EU_ERROR_NOT_SUPPORTED);
|
|
14892
|
+
} catch (e) {
|
|
14893
|
+
onError(e);
|
|
14894
|
+
}
|
|
14895
|
+
};
|
|
14896
|
+
|
|
14897
|
+
//-------------------------------------------------------------------------------
|
|
14898
|
+
|
|
14869
14899
|
EndUser.prototype.ChangePrivateKeyPassword = function(
|
|
14870
14900
|
keyMedia, newPassword, onSuccess, onError) {
|
|
14871
14901
|
try {
|
|
@@ -15001,11 +15031,11 @@ EndUser.prototype.GetKeyInfoBinary = function(
|
|
|
15001
15031
|
//-------------------------------------------------------------------------------
|
|
15002
15032
|
|
|
15003
15033
|
EndUser.prototype.GetClientRegistrationTokenKSP = function(
|
|
15004
|
-
ksp, onSuccess, onError) {
|
|
15034
|
+
ksp, parameters, onSuccess, onError) {
|
|
15005
15035
|
var pThis = this;
|
|
15006
15036
|
|
|
15007
15037
|
pThis.m_euKSP.GetClientRegistrationToken(
|
|
15008
|
-
pThis.m_pkContext, ksp, onSuccess, onError);
|
|
15038
|
+
pThis.m_pkContext, ksp, parameters, onSuccess, onError);
|
|
15009
15039
|
};
|
|
15010
15040
|
|
|
15011
15041
|
//-------------------------------------------------------------------------------
|