рефакторинг

This commit is contained in:
vgoma 2017-11-29 12:58:20 +03:00
parent ce55951de8
commit c3525905d2
5 changed files with 143 additions and 143 deletions

140
dist/1.crypto-pro.js vendored
View File

@ -26,19 +26,19 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result; var result;
try { try {
result = yield cert.IsValid(); result = 'yield' + cert.IsValid();
result = yield result.Result; result = 'yield' + result.Result;
} catch (err) { } catch (err) {
reject('Ошибка при проверке сертификата: ', err.message); reject('Ошибка при проверке сертификата: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -49,18 +49,18 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result; var result;
try { try {
result = yield cert[propName]; result = 'yield' + cert[propName];
} catch (err) { } catch (err) {
reject('Ошибка при обращении к свойству сертификата: ', err.message); reject('Ошибка при обращении к свойству сертификата: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -71,18 +71,18 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var base64; var base64;
try { try {
base64 = yield cert.Export(0); base64 = 'yield' + cert.Export(0);
} catch (err) { } catch (err) {
reject('Ошибка при экспорте сертификата: ', err.message); reject('Ошибка при экспорте сертификата: ', err.message);
return; return;
} }
resolve(base64); resolve(base64);
}); }));
}); });
}; };
@ -93,23 +93,23 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result = {}, var result = {},
algorithm; algorithm;
try { try {
algorithm = yield cert.PublicKey(); algorithm = 'yield' + cert.PublicKey();
algorithm = yield algorithm.Algorithm; algorithm = 'yield' + algorithm.Algorithm;
result.algorithm = yield algorithm.FriendlyName; result.algorithm = 'yield' + algorithm.FriendlyName;
result.oid = yield algorithm.Value; result.oid = 'yield' + algorithm.Value;
} catch (err) { } catch (err) {
reject('Ошибка при получении алгоритма: ', err.message); reject('Ошибка при получении алгоритма: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -136,22 +136,22 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var OIDS = [], var OIDS = [],
count, count,
item; item;
try { try {
count = yield cert.ExtendedKeyUsage(); count = 'yield' + cert.ExtendedKeyUsage();
count = yield count.EKUs; count = 'yield' + count.EKUs;
count = yield count.Count; count = 'yield' + count.Count;
if (count > 0) { if (count > 0) {
while (count > 0) { while (count > 0) {
item = yield cert.ExtendedKeyUsage(); item = 'yield' + cert.ExtendedKeyUsage();
item = yield item.EKUs; item = 'yield' + item.EKUs;
item = yield item.Item(count); item = 'yield' + item.Item(count);
item = yield item.OID; item = 'yield' + item.OID;
OIDS.push(item); OIDS.push(item);
@ -164,7 +164,7 @@ webpackJsonpCryptoPro([1],[
} }
resolve(OIDS); resolve(OIDS);
}); }));
}); });
}; };
@ -181,7 +181,7 @@ webpackJsonpCryptoPro([1],[
var result; var result;
try { try {
result = cryptoCommon.createObj('CAdESCOM.About'); result = 'yield' + cryptoCommon.createObj('CAdESCOM.About');
} catch (error) { } catch (error) {
reject('Настройки ЭП на данной машине не верны'); reject('Настройки ЭП на данной машине не верны');
} }
@ -196,8 +196,8 @@ webpackJsonpCryptoPro([1],[
* */ * */
function getCadesCert(hash) { function getCadesCert(hash) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var oStore = yield cadesplugin.CreateObjectAsync('CAdESCOM.Store'), var oStore = 'yield' + cryptoCommon.createObj('CAdESCOM.Store'),
certs, certs,
certCnt, certCnt,
cert; cert;
@ -209,7 +209,7 @@ webpackJsonpCryptoPro([1],[
// Открываем хранилище // Открываем хранилище
try { try {
yield oStore.Open( 'yield' + oStore.Open(
cadesplugin.CAPICOM_CURRENT_USER_STORE, cadesplugin.CAPICOM_CURRENT_USER_STORE,
cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_MY_STORE,
cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
@ -221,8 +221,8 @@ webpackJsonpCryptoPro([1],[
// Получаем доступ к сертификатам // Получаем доступ к сертификатам
try { try {
certs = yield oStore.Certificates; certs = 'yield' + oStore.Certificates;
certCnt = yield certs.Count; certCnt = 'yield' + certs.Count;
} catch (err) { } catch (err) {
reject('Ошибка получения списка сертификатов: ' + err.message); reject('Ошибка получения списка сертификатов: ' + err.message);
return; return;
@ -235,10 +235,10 @@ webpackJsonpCryptoPro([1],[
// Получаем сертификат по хэшу // Получаем сертификат по хэшу
try { try {
certs = yield certs.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, hash); certs = 'yield' + certs.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, hash);
if (certs.Count) { if (certs.Count) {
cert = yield certs.Item(1); cert = 'yield' + certs.Item(1);
} else { } else {
throw new Error(hash); throw new Error(hash);
} }
@ -250,7 +250,7 @@ webpackJsonpCryptoPro([1],[
oStore.Close(); oStore.Close();
resolve(cert); resolve(cert);
}); }));
}); });
} }
@ -261,18 +261,18 @@ webpackJsonpCryptoPro([1],[
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var propInfo; var propInfo;
try { try {
propInfo = yield cert[propName]; propInfo = 'yield' + cert[propName];
} catch (err) { } catch (err) {
reject('Ошибка при извлечении данных из сертификата: ', err.message); reject('Ошибка при извлечении данных из сертификата: ', err.message);
return; return;
} }
resolve(cryptoCommon.parseCertInfo(tags, propInfo)); resolve(cryptoCommon.parseCertInfo(tags, propInfo));
}); }));
}); });
} }
@ -406,19 +406,19 @@ webpackJsonpCryptoPro([1],[
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
getCadesCert(hash).then(function (cert) { getCadesCert(hash).then(function (cert) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var clientTime = new Date(), var clientTime = new Date(),
oAttrs = yield cadesplugin.CreateObjectAsync('CADESCOM.CPAttribute'), oAttrs = 'yield' + cryptoCommon.createObj('CADESCOM.CPAttribute'),
oSignedData = yield cadesplugin.CreateObjectAsync('CAdESCOM.CadesSignedData'), oSignedData = 'yield' + cryptoCommon.createObj('CAdESCOM.CadesSignedData'),
oSigner = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPSigner'), oSigner = 'yield' + cryptoCommon.createObj('CAdESCOM.CPSigner'),
attrs, attrs,
signature; signature;
clientTime = cryptoCommon.getDateObj(clientTime); clientTime = cryptoCommon.getDateObj(clientTime);
try { try {
yield oAttrs.propset_Name(cryptoConstants.Time.AUTHENTICATED_ATTRIBUTE_SIGNING_TIME); 'yield' + oAttrs.propset_Name(cryptoConstants.Time.AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
yield oAttrs.propset_Value(clientTime); 'yield' + oAttrs.propset_Value(clientTime);
} catch (err) { } catch (err) {
reject('Ошибка при установке данных подписи: ' + err.message); reject('Ошибка при установке данных подписи: ' + err.message);
return; return;
@ -426,19 +426,19 @@ webpackJsonpCryptoPro([1],[
// Задаем настройки для подписи // Задаем настройки для подписи
try { try {
yield oSigner.propset_Certificate(cert); 'yield' + oSigner.propset_Certificate(cert);
attrs = yield oSigner.AuthenticatedAttributes2; attrs = 'yield' + oSigner.AuthenticatedAttributes2;
yield attrs.Add(oAttrs); 'yield' + attrs.Add(oAttrs);
yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); 'yield' + oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_Content(dataBase64); 'yield' + oSignedData.propset_Content(dataBase64);
yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY); 'yield' + oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY);
} catch (err) { } catch (err) {
reject('Не удалось установить настройки для подписи: ' + err.message); reject('Не удалось установить настройки для подписи: ' + err.message);
return; return;
} }
try { try {
signature = yield oSignedData.SignCades( signature = 'yield' + oSignedData.SignCades(
oSigner, oSigner,
cadesplugin.CADESCOM_CADES_BES, cadesplugin.CADESCOM_CADES_BES,
signType signType
@ -449,7 +449,7 @@ webpackJsonpCryptoPro([1],[
} }
resolve(signature); resolve(signature);
}); }));
}, reject); }, reject);
}); });
} }
@ -464,37 +464,37 @@ webpackJsonpCryptoPro([1],[
function signDataXML(hash, dataXML) { function signDataXML(hash, dataXML) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
getCadesCert(hash).then(function (cert) { getCadesCert(hash).then(function (cert) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var oSigner = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPSigner'), var oSigner = 'yield' + cryptoCommon.createObj('CAdESCOM.CPSigner'),
signerXML = yield cadesplugin.CreateObjectAsync('CAdESCOM.SignedXML'), signerXML = 'yield' + cryptoCommon.createObj('CAdESCOM.SignedXML'),
cnts = cryptoConstants, cnts = cryptoConstants,
signature; signature;
// Задаем настройки для подписи // Задаем настройки для подписи
try { try {
yield oSigner.propset_Certificate(cert); 'yield' + oSigner.propset_Certificate(cert);
// Добавляем данные для подписи // Добавляем данные для подписи
yield signerXML.propset_Content(dataXML); 'yield' + signerXML.propset_Content(dataXML);
// Устанавливаем тип подписи // Устанавливаем тип подписи
yield signerXML.propset_SignatureType(cnts.SignatureType.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED); 'yield' + signerXML.propset_SignatureType(cnts.SignatureType.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED);
// Устанавливаем алгоритм подписи // Устанавливаем алгоритм подписи
yield signerXML.propset_SignatureMethod(cnts.GostXmlDSigUrls.XmlDsigGost3410Url); 'yield' + signerXML.propset_SignatureMethod(cnts.GostXmlDSigUrls.XmlDsigGost3410Url);
// Устанавливаем алгоритм хэширования // Устанавливаем алгоритм хэширования
yield signerXML.propset_DigestMethod(cnts.GostXmlDSigUrls.XmlDsigGost3411Url); 'yield' + signerXML.propset_DigestMethod(cnts.GostXmlDSigUrls.XmlDsigGost3411Url);
} catch (err) { } catch (err) {
reject('Не удалось установить настройки для подписи: ' + err.message); reject('Не удалось установить настройки для подписи: ' + err.message);
return; return;
} }
try { try {
signature = yield signerXML.Sign(oSigner); signature = 'yield' + signerXML.Sign(oSigner);
} catch (err) { } catch (err) {
reject('Не удалось создать подпись: ' + err.message); reject('Не удалось создать подпись: ' + err.message);
return; return;
} }
resolve(signature); resolve(signature);
}); }));
}, reject); }, reject);
}); });
} }
@ -506,28 +506,28 @@ webpackJsonpCryptoPro([1],[
var sysInfo = cryptoCommon.getEnvInfo(); var sysInfo = cryptoCommon.getEnvInfo();
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var e; var e;
try { try {
e = yield cadesplugin.CreateObjectAsync('CAdESCOM.About'); e = 'yield' + cryptoCommon.createObj('CAdESCOM.About');
sysInfo.cadesVersion = yield e.PluginVersion; sysInfo.cadesVersion = 'yield' + e.PluginVersion;
// Возможен вызов в ранних версиях в виде sysInfo.cspVersion = yield e.CSPVersion('', 75); // Возможен вызов в ранних версиях в виде sysInfo.cspVersion = 'yield' + e.CSPVersion('', 75);
sysInfo.cspVersion = yield e.CSPVersion(); sysInfo.cspVersion = 'yield' + e.CSPVersion();
if (!sysInfo.cadesVersion) { if (!sysInfo.cadesVersion) {
sysInfo.cadesVersion = yield e.Version; sysInfo.cadesVersion = 'yield' + e.Version;
} }
sysInfo.cadesVersion = yield sysInfo.cadesVersion.toString(); sysInfo.cadesVersion = 'yield' + sysInfo.cadesVersion.toString();
sysInfo.cspVersion = yield sysInfo.cspVersion.toString(); sysInfo.cspVersion = 'yield' + sysInfo.cspVersion.toString();
resolve(sysInfo); resolve(sysInfo);
} catch (err) { } catch (err) {
reject('Ошибка при получении информации о системе: ', err.message); reject('Ошибка при получении информации о системе: ', err.message);
} }
}); }));
}); });
} }

File diff suppressed because one or more lines are too long

2
dist/crypto-pro.js vendored
View File

@ -178,7 +178,7 @@ var CryptoPro =
cadesplugin.then( cadesplugin.then(
function () { function () {
if (canAsync) { if (canAsync) {
__webpack_require__.e/* nsure */(1, function () { __webpack_require__.e/* nsure */(1/* empty */, function () {
cryptoService = __webpack_require__(4); cryptoService = __webpack_require__(4);
finishLoading(); finishLoading();
}); });

File diff suppressed because one or more lines are too long

View File

@ -18,19 +18,19 @@ Certificate.prototype.isValid = function isValid() {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result; var result;
try { try {
result = yield cert.IsValid(); result = 'yield' + cert.IsValid();
result = yield result.Result; result = 'yield' + result.Result;
} catch (err) { } catch (err) {
reject('Ошибка при проверке сертификата: ', err.message); reject('Ошибка при проверке сертификата: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -41,18 +41,18 @@ Certificate.prototype.getProp = function (propName) {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result; var result;
try { try {
result = yield cert[propName]; result = 'yield' + cert[propName];
} catch (err) { } catch (err) {
reject('Ошибка при обращении к свойству сертификата: ', err.message); reject('Ошибка при обращении к свойству сертификата: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -63,18 +63,18 @@ Certificate.prototype.exportBase64 = function exportBase64() {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var base64; var base64;
try { try {
base64 = yield cert.Export(0); base64 = 'yield' + cert.Export(0);
} catch (err) { } catch (err) {
reject('Ошибка при экспорте сертификата: ', err.message); reject('Ошибка при экспорте сертификата: ', err.message);
return; return;
} }
resolve(base64); resolve(base64);
}); }));
}); });
}; };
@ -85,23 +85,23 @@ Certificate.prototype.getAlgorithm = function getAlgorithm() {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var result = {}, var result = {},
algorithm; algorithm;
try { try {
algorithm = yield cert.PublicKey(); algorithm = 'yield' + cert.PublicKey();
algorithm = yield algorithm.Algorithm; algorithm = 'yield' + algorithm.Algorithm;
result.algorithm = yield algorithm.FriendlyName; result.algorithm = 'yield' + algorithm.FriendlyName;
result.oid = yield algorithm.Value; result.oid = 'yield' + algorithm.Value;
} catch (err) { } catch (err) {
reject('Ошибка при получении алгоритма: ', err.message); reject('Ошибка при получении алгоритма: ', err.message);
return; return;
} }
resolve(result); resolve(result);
}); }));
}); });
}; };
@ -128,22 +128,22 @@ Certificate.prototype.getExtendedKeyUsage = function getExtendedKeyUsage() {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var OIDS = [], var OIDS = [],
count, count,
item; item;
try { try {
count = yield cert.ExtendedKeyUsage(); count = 'yield' + cert.ExtendedKeyUsage();
count = yield count.EKUs; count = 'yield' + count.EKUs;
count = yield count.Count; count = 'yield' + count.Count;
if (count > 0) { if (count > 0) {
while (count > 0) { while (count > 0) {
item = yield cert.ExtendedKeyUsage(); item = 'yield' + cert.ExtendedKeyUsage();
item = yield item.EKUs; item = 'yield' + item.EKUs;
item = yield item.Item(count); item = 'yield' + item.Item(count);
item = yield item.OID; item = 'yield' + item.OID;
OIDS.push(item); OIDS.push(item);
@ -156,7 +156,7 @@ Certificate.prototype.getExtendedKeyUsage = function getExtendedKeyUsage() {
} }
resolve(OIDS); resolve(OIDS);
}); }));
}); });
}; };
@ -173,7 +173,7 @@ function isValidEDSSettings() {
var result; var result;
try { try {
result = cryptoCommon.createObj('CAdESCOM.About'); result = 'yield' + cryptoCommon.createObj('CAdESCOM.About');
} catch (error) { } catch (error) {
reject('Настройки ЭП на данной машине не верны'); reject('Настройки ЭП на данной машине не верны');
} }
@ -188,8 +188,8 @@ function isValidEDSSettings() {
* */ * */
function getCadesCert(hash) { function getCadesCert(hash) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var oStore = yield cadesplugin.CreateObjectAsync('CAdESCOM.Store'), var oStore = 'yield' + cryptoCommon.createObj('CAdESCOM.Store'),
certs, certs,
certCnt, certCnt,
cert; cert;
@ -201,7 +201,7 @@ function getCadesCert(hash) {
// Открываем хранилище // Открываем хранилище
try { try {
yield oStore.Open( 'yield' + oStore.Open(
cadesplugin.CAPICOM_CURRENT_USER_STORE, cadesplugin.CAPICOM_CURRENT_USER_STORE,
cadesplugin.CAPICOM_MY_STORE, cadesplugin.CAPICOM_MY_STORE,
cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED cadesplugin.CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED
@ -213,8 +213,8 @@ function getCadesCert(hash) {
// Получаем доступ к сертификатам // Получаем доступ к сертификатам
try { try {
certs = yield oStore.Certificates; certs = 'yield' + oStore.Certificates;
certCnt = yield certs.Count; certCnt = 'yield' + certs.Count;
} catch (err) { } catch (err) {
reject('Ошибка получения списка сертификатов: ' + err.message); reject('Ошибка получения списка сертификатов: ' + err.message);
return; return;
@ -227,10 +227,10 @@ function getCadesCert(hash) {
// Получаем сертификат по хэшу // Получаем сертификат по хэшу
try { try {
certs = yield certs.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, hash); certs = 'yield' + certs.Find(cadesplugin.CAPICOM_CERTIFICATE_FIND_SHA1_HASH, hash);
if (certs.Count) { if (certs.Count) {
cert = yield certs.Item(1); cert = 'yield' + certs.Item(1);
} else { } else {
throw new Error(hash); throw new Error(hash);
} }
@ -242,7 +242,7 @@ function getCadesCert(hash) {
oStore.Close(); oStore.Close();
resolve(cert); resolve(cert);
}); }));
}); });
} }
@ -253,18 +253,18 @@ function getCertInfo(tags, propName) {
var cert = this._cert; var cert = this._cert;
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var propInfo; var propInfo;
try { try {
propInfo = yield cert[propName]; propInfo = 'yield' + cert[propName];
} catch (err) { } catch (err) {
reject('Ошибка при извлечении данных из сертификата: ', err.message); reject('Ошибка при извлечении данных из сертификата: ', err.message);
return; return;
} }
resolve(cryptoCommon.parseCertInfo(tags, propInfo)); resolve(cryptoCommon.parseCertInfo(tags, propInfo));
}); }));
}); });
} }
@ -398,19 +398,19 @@ function signData(hash, dataBase64, signType) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
getCadesCert(hash).then(function (cert) { getCadesCert(hash).then(function (cert) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var clientTime = new Date(), var clientTime = new Date(),
oAttrs = yield cadesplugin.CreateObjectAsync('CADESCOM.CPAttribute'), oAttrs = 'yield' + cryptoCommon.createObj('CADESCOM.CPAttribute'),
oSignedData = yield cadesplugin.CreateObjectAsync('CAdESCOM.CadesSignedData'), oSignedData = 'yield' + cryptoCommon.createObj('CAdESCOM.CadesSignedData'),
oSigner = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPSigner'), oSigner = 'yield' + cryptoCommon.createObj('CAdESCOM.CPSigner'),
attrs, attrs,
signature; signature;
clientTime = cryptoCommon.getDateObj(clientTime); clientTime = cryptoCommon.getDateObj(clientTime);
try { try {
yield oAttrs.propset_Name(cryptoConstants.Time.AUTHENTICATED_ATTRIBUTE_SIGNING_TIME); 'yield' + oAttrs.propset_Name(cryptoConstants.Time.AUTHENTICATED_ATTRIBUTE_SIGNING_TIME);
yield oAttrs.propset_Value(clientTime); 'yield' + oAttrs.propset_Value(clientTime);
} catch (err) { } catch (err) {
reject('Ошибка при установке данных подписи: ' + err.message); reject('Ошибка при установке данных подписи: ' + err.message);
return; return;
@ -418,19 +418,19 @@ function signData(hash, dataBase64, signType) {
// Задаем настройки для подписи // Задаем настройки для подписи
try { try {
yield oSigner.propset_Certificate(cert); 'yield' + oSigner.propset_Certificate(cert);
attrs = yield oSigner.AuthenticatedAttributes2; attrs = 'yield' + oSigner.AuthenticatedAttributes2;
yield attrs.Add(oAttrs); 'yield' + attrs.Add(oAttrs);
yield oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY); 'yield' + oSignedData.propset_ContentEncoding(cadesplugin.CADESCOM_BASE64_TO_BINARY);
yield oSignedData.propset_Content(dataBase64); 'yield' + oSignedData.propset_Content(dataBase64);
yield oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY); 'yield' + oSigner.propset_Options(cadesplugin.CAPICOM_CERTIFICATE_INCLUDE_END_ENTITY_ONLY);
} catch (err) { } catch (err) {
reject('Не удалось установить настройки для подписи: ' + err.message); reject('Не удалось установить настройки для подписи: ' + err.message);
return; return;
} }
try { try {
signature = yield oSignedData.SignCades( signature = 'yield' + oSignedData.SignCades(
oSigner, oSigner,
cadesplugin.CADESCOM_CADES_BES, cadesplugin.CADESCOM_CADES_BES,
signType signType
@ -441,7 +441,7 @@ function signData(hash, dataBase64, signType) {
} }
resolve(signature); resolve(signature);
}); }));
}, reject); }, reject);
}); });
} }
@ -456,37 +456,37 @@ function signData(hash, dataBase64, signType) {
function signDataXML(hash, dataXML) { function signDataXML(hash, dataXML) {
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
getCadesCert(hash).then(function (cert) { getCadesCert(hash).then(function (cert) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var oSigner = yield cadesplugin.CreateObjectAsync('CAdESCOM.CPSigner'), var oSigner = 'yield' + cryptoCommon.createObj('CAdESCOM.CPSigner'),
signerXML = yield cadesplugin.CreateObjectAsync('CAdESCOM.SignedXML'), signerXML = 'yield' + cryptoCommon.createObj('CAdESCOM.SignedXML'),
cnts = cryptoConstants, cnts = cryptoConstants,
signature; signature;
// Задаем настройки для подписи // Задаем настройки для подписи
try { try {
yield oSigner.propset_Certificate(cert); 'yield' + oSigner.propset_Certificate(cert);
// Добавляем данные для подписи // Добавляем данные для подписи
yield signerXML.propset_Content(dataXML); 'yield' + signerXML.propset_Content(dataXML);
// Устанавливаем тип подписи // Устанавливаем тип подписи
yield signerXML.propset_SignatureType(cnts.SignatureType.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED); 'yield' + signerXML.propset_SignatureType(cnts.SignatureType.CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED);
// Устанавливаем алгоритм подписи // Устанавливаем алгоритм подписи
yield signerXML.propset_SignatureMethod(cnts.GostXmlDSigUrls.XmlDsigGost3410Url); 'yield' + signerXML.propset_SignatureMethod(cnts.GostXmlDSigUrls.XmlDsigGost3410Url);
// Устанавливаем алгоритм хэширования // Устанавливаем алгоритм хэширования
yield signerXML.propset_DigestMethod(cnts.GostXmlDSigUrls.XmlDsigGost3411Url); 'yield' + signerXML.propset_DigestMethod(cnts.GostXmlDSigUrls.XmlDsigGost3411Url);
} catch (err) { } catch (err) {
reject('Не удалось установить настройки для подписи: ' + err.message); reject('Не удалось установить настройки для подписи: ' + err.message);
return; return;
} }
try { try {
signature = yield signerXML.Sign(oSigner); signature = 'yield' + signerXML.Sign(oSigner);
} catch (err) { } catch (err) {
reject('Не удалось создать подпись: ' + err.message); reject('Не удалось создать подпись: ' + err.message);
return; return;
} }
resolve(signature); resolve(signature);
}); }));
}, reject); }, reject);
}); });
} }
@ -498,28 +498,28 @@ function getSystemInfo() {
var sysInfo = cryptoCommon.getEnvInfo(); var sysInfo = cryptoCommon.getEnvInfo();
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {
cadesplugin.async_spawn(function* () { eval(cryptoCommon.execute(function () {
var e; var e;
try { try {
e = yield cadesplugin.CreateObjectAsync('CAdESCOM.About'); e = 'yield' + cryptoCommon.createObj('CAdESCOM.About');
sysInfo.cadesVersion = yield e.PluginVersion; sysInfo.cadesVersion = 'yield' + e.PluginVersion;
// Возможен вызов в ранних версиях в виде sysInfo.cspVersion = yield e.CSPVersion('', 75); // Возможен вызов в ранних версиях в виде sysInfo.cspVersion = 'yield' + e.CSPVersion('', 75);
sysInfo.cspVersion = yield e.CSPVersion(); sysInfo.cspVersion = 'yield' + e.CSPVersion();
if (!sysInfo.cadesVersion) { if (!sysInfo.cadesVersion) {
sysInfo.cadesVersion = yield e.Version; sysInfo.cadesVersion = 'yield' + e.Version;
} }
sysInfo.cadesVersion = yield sysInfo.cadesVersion.toString(); sysInfo.cadesVersion = 'yield' + sysInfo.cadesVersion.toString();
sysInfo.cspVersion = yield sysInfo.cspVersion.toString(); sysInfo.cspVersion = 'yield' + sysInfo.cspVersion.toString();
resolve(sysInfo); resolve(sysInfo);
} catch (err) { } catch (err) {
reject('Ошибка при получении информации о системе: ', err.message); reject('Ошибка при получении информации о системе: ', err.message);
} }
}); }));
}); });
} }