Во время того, как пользователь подписывает документ возникает проблема с выбором носителя. Пользователь утверждает, что ЭЦП вставлена в компьютер, всё подключено, ЭЦП действительна до 24.01.2024г., через Яндекс браузер зайти в личный кабинет в госуслугах он может под этим ключом, а подписать и отправить документ на нашем сайте не может.
SignProvider.prototype.SignHash = function (hash, cert, successCallback, failCallback) {
var thisObject = this;
cadesplugin.async_spawn(function* () {
var CADESCOM_CADES_BES = 1;
var CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256 = 101;
var oSigner = yield cadesplugin.CreateObjectAsync("CAdESCOM.CPSigner");
yield oSigner.propset_Certificate(cert);
yield oSigner.propset_CheckCertificate(true);
oSigner.propset_TSAAddress("http://qs.cryptopro.ru/tsp/tsp.srf");
let certPublicKey = yield cert.PublicKey();
let certAlgorithm = yield certPublicKey.Algorithm;
let algorithmValue = yield certAlgorithm.Value;
let hashObject = yield cadesplugin.CreateObjectAsync("CAdESCOM.HashedData")
if (algorithmValue === "1.2.643.7.1.1.1.1") {
yield hashObject.propset_Algorithm(CADESCOM_HASH_ALGORITHM_CP_GOST_3411_2012_256);
}
else {
thisObject.ShowError("Невозможно подписать документ этим сертификатом.");
if (typeof failCallback === 'function') failCallback();
return;
}
yield hashObject.SetHashValue(hash);
var oSignedData = yield cadesplugin.CreateObjectAsync("CAdESCOM.CadesSignedData");
var signature = "";
try {
signature = yield oSignedData.SignHash(hashObject, oSigner, CADESCOM_CADES_BES);
} catch (err) {
thisObject.ShowError("Не удалось создать подпись. Ошибка: " + cadesplugin.getLastError(err));
if (typeof failCallback === 'function') failCallback();
return;
}
successCallback(signature);
});
}
1.png
(48kb) загружен 3 раз(а).Отредактировано пользователем 17 марта 2023 г. 12:20:03(UTC)
| Причина: Не указана