Статус: Новичок
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,478 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал «Спасибо»: 553 раз Поблагодарили: 2243 раз в 1749 постах
|
Здравствуйте. Цитата: signedData.Content = rawData; //данные которые уже один раз подписаны
Что именно в rawData? Вы читали описание CoSign? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.04.2017(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей * ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Здравствуйте. Цитата: signedData.Content = rawData; //данные которые уже один раз подписаны
Что именно в rawData? Вы читали описание CoSign? Читала, что CoSign может добавить подпись к подписанным данным. Как-то так.. Но может не права.. rawData это подписанные один раз закодированные данные. Подписываю я их через Sign кодировкой CAPICOM_ENCODE_BASE64.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,478 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал «Спасибо»: 553 раз Поблагодарили: 2243 раз в 1749 постах
|
Вкратце: .Verify .CoSign
Код:
Sub DoCoSignCommand (FileNames, bDetached, Signer)
Dim Content
Dim Message
Dim SignedData
' Create the SignedData object.
Set SignedData = CreateObject("CAPICOM.SignedData")
' Display main title.
Wscript.Stdout.Writeline "CoSigning text file " & FileNames(0) & "."
Wscript.Stdout.Writeline
' Display more detail for verbose operation.
If bVerbose Then
DisplayDetail "=== CoSigner ===", Signer, bDetached
End If
' Load the signed message.
LoadFile FileNames(0), Message
' Verify to open the signed message.
SignedData.Verify Message, bDetached, VerifyFlag
' Now CoSign it.
Message = SignedData.CoSign(Signer, bDetached)
' Finally, save cosigned message to FileNames(0) if non-detached.
If bDetached Then
Wscript.Stdout.Writeline "Successful."
Else
SaveFile FileNames(0), Message
Wscript.Stdout.Writeline "Successful - CoSigned message saved to " & FileNames(0) & "."
End If
' Free resources.
Set SignedData = Nothing
End Sub ' End DoCoSignCommand
|
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,478 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал «Спасибо»: 553 раз Поблагодарили: 2243 раз в 1749 постах
|
Цитата:signedData.Content = rawData; Интересен первоисточник - откуда взято? |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 14.04.2017(UTC) Сообщений: 4
Сказал(а) «Спасибо»: 2 раз
|
Автор: Андрей * ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Цитата: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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,478 ![Мужчина Мужчина](/forum2/Themes/soclean/male.gif) ![Российская Федерация Российская Федерация](/forum2/Content/images/flags/RU.png) Сказал «Спасибо»: 553 раз Поблагодарили: 2243 раз в 1749 постах
|
Автор: tempopro ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Автор: Андрей * ![Перейти к цитате Перейти к цитате](/forum2/Themes/soclean/icon_latest_reply.gif) Цитата:signedData.Content = rawData; Интересен первоисточник - откуда взято? с библиотекой capicom идут примеры. вот там и взяли Я также взял SDK от MS к CAPICOM и привел пример как необходимо использовать CoSign (\Microsoft CAPICOM 2.1.0.2 SDK\Samples\vbs\CSignData.vbs) и вижу рабочий код от MS, в отличии от попытки использовать "пример кода для .Sign", но в контексте для .CoSign |
|
![thanks](/forum2/Themes/soclean/heart_small.png) 1 пользователь поблагодарил Андрей * за этот пост.
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close