Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline CrUlf643  
#1 Оставлено : 22 ноября 2018 г. 8:37:47(UTC)
CrUlf643

Статус: Участник

Группы: Участники
Зарегистрирован: 24.08.2018(UTC)
Сообщений: 20
Российская Федерация
Откуда: Санкт-Петербург

Сказал(а) «Спасибо»: 9 раз
Уважаемые знатоки, у меня есть функция, кстати взятая с этого сайта:

function cryptoFunc (data, thumbprint, callback) {
var CADESCOM_HASH_ALGORITHM_CP_GOST_3411 = 100;
var CADESCOM_BASE64_TO_BINARY = 1;
var CAPICOM_CURRENT_USER_STORE = 2;
var CAPICOM_MY_STORE = "My";
var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
var CAPICOM_CERTIFICATE_FIND_SHA1_HASH = 0;
var CAPICOM_CERT_INFO_SUBJECT_SIMPLE_NAME = 0;
var CADESCOM_CADES_BES = 1;
var hashedDataPromise = Crypto.createCryptoObjectAsync("CAdESCOM.HashedData");
hashedDataPromise.then(
function (hashObject) {
hashObject.Algorithm = CADESCOM_HASH_ALGORITHM_CP_GOST_3411;
hashObject.DataEncoding = CADESCOM_BASE64_TO_BINARY;
// Получение сертификата по отпечатку
var oStorePromise = Crypto.createCryptoObjectAsync("CAPICOM.Store");
oStorePromise.then(
function (oStore) {
oStore.Open(CAPICOM_CURRENT_USER_STORE,
CAPICOM_MY_STORE,
CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);
var certificate = oStore.Certificates
.Find(CAPICOM_CERTIFICATE_FIND_SHA1_HASH, thumbprint)
.Item(1);
// Подпись хэша
var signerPromise = Crypto.createCryptoObjectAsync("CAdESCOM.CPSigner");
signerPromise.then(
function (signerObject) {
signerObject.Certificate = certificate;
signerObject.TSAAddress = "https://www.cryptopro.ru/tsp/";
var signedDataPromise = Crypto.createCryptoObjectAsync("CAdESCOM.CadesSignedData");
signedDataPromise.then(
function (signedDataObject) {
signedDataObject.ContentEncoding = CADESCOM_BASE64_TO_BINARY;
hashObject.Hash(data.Data);
var signatureHex = signedDataObject.SignHash(hashObject, signerObject, CADESCOM_CADES_BES);
data.Signature = signatureHex;
data.SignDate = new Date();
//Возрат подписанного файла
callback(data);
})
});
});
});
}
Вопрос заключается в том, как ее вызвать в разметке asp, то есть на странице aspx
Я пытаюсь ее вызвать следующим образом:

<input type='button' id="#btn2" value='Подписать' onclick="return sigUser();"/>

Функция вызова:

function sigUser() {
cryptoFunc(dataV, thumbprintV, callbackV);
alert('Signature: Result---OK');
}
где
dataV = это данные с сервера переданные через сериализацию
thumbprintV = это подпись, которая выбрана по принципу oprion value
callbackV = чистый массив размерностью с dataV



На основе вышесказанного возникает вопрос, правильно ли я вообще пытаюсь вызвать функцию? А также т.к. я новичок в java то не могли бы Вы сказать правильно ли я понял что data - данные, thummbprint - подпись, callback - массив возвращаемый?

Отредактировано пользователем 22 ноября 2018 г. 8:42:52(UTC)  | Причина: Не указана

Offline Евгений Афанасьев  
#2 Оставлено : 22 ноября 2018 г. 11:14:17(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,005
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 715 раз в 675 постах
Здравствуйте.
Лучше задать этот вопрос в разделе КриптоПро ЭЦП (усовершенствованная ЭЦП).

Отредактировано пользователем 22 ноября 2018 г. 11:20:25(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил Евгений Афанасьев за этот пост.
CrUlf643 оставлено 22.11.2018(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (2)
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.