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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline tempopro  
#1 Оставлено : 14 апреля 2017 г. 8:29:49(UTC)
tempopro

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.04.2017(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 2 раз
Здравствуйте. Установила библиотеку capicom.dll. Данные подписываются командой Sign
var signature = signedData.Sign(signer, detached, $.capicom.CAPICOM_ENCODE_BASE64);
где signer - сертификат ключа подписи
detached - флаг открепленной подписи (исходное сообщение не включается в итоговый CMS-контейнер) FALSE
CAPICOM_ENCODE_BASE64 - подпись будет сформирована в виде кодированной Base64 строки

Все отрабатывает. Проверка проходит.

Нужно добавить еще одну подпись. Делаю через команду CoSign

результат
The message has not been signed.
Может кто подскажет, что не так? Или может capicom не поддерживает данную функцию?

Отредактировано пользователем 14 апреля 2017 г. 13:52:23(UTC)  | Причина: Не указана

Online Андрей Писарев  
#2 Оставлено : 14 апреля 2017 г. 12:30:26(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Здравствуйте.

Цитата:

signedData.Content = rawData; //данные которые уже один раз подписаны


Что именно в rawData?

Вы читали описание CoSign?
Техническую поддержку оказываем тут
Наша база знаний
Offline tempopro  
#3 Оставлено : 14 апреля 2017 г. 12:41:44(UTC)
tempopro

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.04.2017(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 2 раз
Автор: Андрей * Перейти к цитате
Здравствуйте.

Цитата:

signedData.Content = rawData; //данные которые уже один раз подписаны


Что именно в rawData?

Вы читали описание CoSign?

Читала, что CoSign может добавить подпись к подписанным данным. Как-то так.. Но может не права..

rawData это подписанные один раз закодированные данные. Подписываю я их через Sign кодировкой CAPICOM_ENCODE_BASE64.
Online Андрей Писарев  
#4 Оставлено : 14 апреля 2017 г. 12:57:29(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах

Вкратце:
.Verify
.CoSign




Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
tempopro оставлено 14.04.2017(UTC)
Online Андрей Писарев  
#5 Оставлено : 14 апреля 2017 г. 12:58:57(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Цитата:
signedData.Content = rawData;


Интересен первоисточник - откуда взято?
Техническую поддержку оказываем тут
Наша база знаний
Offline tempopro  
#6 Оставлено : 14 апреля 2017 г. 13:03:03(UTC)
tempopro

Статус: Новичок

Группы: Участники
Зарегистрирован: 14.04.2017(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 2 раз
Автор: Андрей * Перейти к цитате
Цитата:
signedData.Content = rawData;


Интересен первоисточник - откуда взято?


с библиотекой capicom идут примеры. вот там и взяли
function btnSignedData_OnClick()
{
// instantiate the CAPICOM objects
var SignedData = new ActiveXObject("CAPICOM.SignedData");
var Signer = new ActiveXObject("CAPICOM.Signer");
var TimeAttribute = new ActiveXObject("CAPICOM.Attribute");


// only do this if the user selected a certificate
if (txtCertificate.hash != "")
{

// Set the data that we want to sign
SignedData.Content = txtPlainText.value;
try
{
// Set the Certificate we would like to sign with
Signer.Certificate = FindCertificateByHash(txtCertificate.hash);

// Set the time in which we are applying the signature
var Today = new Date();
TimeAttribute.Name = CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
TimeAttribute.Value = Today.getVarDate();
Today = null;
Signer.AuthenticatedAttributes.Add(TimeAttribute);

// Do the Sign operation
var szSignature = SignedData.Sign(Signer, true, CAPICOM_ENCODE_BASE64);

}
....

или откуда в смысле данные?
данные из таблицы берутся. подписываются и сохраняются в таблицу в подписанном виде.

Отредактировано пользователем 14 апреля 2017 г. 13:04:35(UTC)  | Причина: Не указана

Online Андрей Писарев  
#7 Оставлено : 14 апреля 2017 г. 13:06:48(UTC)
Андрей *

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

Группы: Участники
Зарегистрирован: 26.07.2011(UTC)
Сообщений: 12,629
Мужчина
Российская Федерация

Сказал «Спасибо»: 494 раз
Поблагодарили: 2034 раз в 1578 постах
Автор: tempopro Перейти к цитате
Автор: Андрей * Перейти к цитате
Цитата:
signedData.Content = rawData;


Интересен первоисточник - откуда взято?


с библиотекой capicom идут примеры. вот там и взяли


Я также взял SDK от MS к CAPICOM и привел пример как необходимо использовать CoSign
(\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CSignData.vbs)

и вижу рабочий код от MS,
в отличии от попытки использовать "пример кода для .Sign", но в контексте для .CoSign
Техническую поддержку оказываем тут
Наша база знаний
thanks 1 пользователь поблагодарил Андрей * за этот пост.
tempopro оставлено 14.04.2017(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.