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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline evteev_sv  
#1 Оставлено : 11 февраля 2013 г. 9:51:18(UTC)
evteev_sv

Статус: Активный участник

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

Сказал «Спасибо»: 5 раз
При создании подписи
Код:

CAdESCOM.CPSigner sig = new CAdESCOM.CPSigner();
                sig.Certificate = signCert;
                sig.TSAAddress = cbTSPServer.Text;
                sig.Options = CAPICOM_CERTIFICATE_INCLUDE_OPTION.CAPICOM_CERTIFICATE_INCLUDE_WHOLE_CHAIN;                
                CAPICOM.Attribute attr = new CAPICOM.Attribute();
                attr.Name = CAPICOM_ATTRIBUTE.CAPICOM_AUTHENTICATED_ATTRIBUTE_SIGNING_TIME;
                attr.Value = DateTime.Now;
                sig.AuthenticatedAttributes.Add(attr);                
                CAdESCOM.CadesSignedData sData = new CAdESCOM.CadesSignedData();
                sData.Content = tbMessage.Text.Trim();//  "Тест сообщение";                
                sData.ContentEncoding = CAdESCOM.CADESCOM_CONTENT_ENCODING_TYPE.CADESCOM_BASE64_TO_BINARY;
                String nString = String.Empty;
                try
                {
                    bool sType = cbSignType.SelectedIndex == 0 ? true : false;
                    nString = sData.SignCades(sig, CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, sType, CAdESCOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
                    sData.Display();
                    sData.VerifyCades(tbMessage.Text.Trim(), CAdESCOM.CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true);
                }
                catch (Exception ee)
                {
                    MessageBox.Show("Ошибка подписывания информации!!! " + ee.Message + 
                                    "\r\n StackTrace: " + ee.StackTrace, "Warning", 
                                    MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }

Вылетает ошибка "либо внутренняя ошибка ASN1 либо ошибка дешифровки"
Think
Offline Новожилова Елена  
#2 Оставлено : 12 февраля 2013 г. 18:32:30(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Значение свойства ContentEncoding должно быть задано ДО того, как будет задано свойство Content.
См. http://cpdn.cryptopro.ru...af3d6dd0ea4ba4e6412.html
thanks 1 пользователь поблагодарил Новожилова Елена за этот пост.
evteev_sv оставлено 13.02.2013(UTC)
Offline KGasan  
#3 Оставлено : 9 сентября 2016 г. 19:22:28(UTC)
KGasan

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

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

Сказал(а) «Спасибо»: 1 раз
Здравствуйте!

На Win 7(32 bit) установлены:
IE10;
КриптоПро CSP 3.6.7491(лицензия), алгоритмы ГОСТ;
контейнер в реестре и привязанный к нему сертификат в "Личные";
КриптоПро ЭЦП Browser plug-in 1.5.
Ошибок при установке не возникало.

Создана простая html-страница путем копировани js примера из SDK "Создание и проверка подписи", добавлении кнопки на страницу для запуска функции run и заменой "Ivan Petrov" на соотвествующее имя сертификата в "Личные".

При выполнении
Код:
oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1)
выдает ошибку:
Failed to create signature. Error: либо внутренняя ошибка ASN1 либо ошибка дешифровки. (-2146881279)

Подскажите, пожалуйста, что нужно проверить/сделать для исправления ошибки.

Спасибо.




Offline Андрей Писарев  
#4 Оставлено : 9 сентября 2016 г. 19:44:42(UTC)
Андрей *

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

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

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

1. Пробовали на демо-странице плагина выполнить подписание?
2. Почему не приведен код полностью?
3. Почему используется 3.6R3, а не финальная 3.6R4 от 2013г.?
Техническую поддержку оказываем тут
Наша база знаний
Offline KGasan  
#5 Оставлено : 12 сентября 2016 г. 12:07:18(UTC)
KGasan

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

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

Сказал(а) «Спасибо»: 1 раз
Добрый день!

2. В нашей организации два сегмента - внешний сегмент с доступом в Интернет и внутренний без доступа в Интернет и прямого доступа к внешнему сегменту. Конфигурацию я привел из внутреннего сегмента. Переносить код во внешний сегмент неудобно (но буду стараться).

3. Не знаком c лицензионной политикой. Поставил то, что выдали.  Вполне возможно, что наша безопасность просто не обновила софт. Мы можем со старыми лицензиями на CSP R3 использовать CSP R4 или даже 3.9 – 4.0?

1. Для проверки на демо-странице установил аналогичную конфигурацию во внешнем сегменте – начал падать IE – ругается на crypto_pro.asn1.dll (точного названия не смогу воспроизвести так как). Снес и плагин и провайдера.

Дождусь вашего ответа по поводу конфигураций и повторю установку.

Код во внутреннем сегменте
Код:
<!DOCTYPE html>

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
    <input type="button" onclick="run();" value="Test" />

    <script type="text/javascript">
        var CADESCOM_CADES_X_LONG_TYPE_1 = 0x5d;
        var CAPICOM_CURRENT_USER_STORE = 2;
        var CAPICOM_MY_STORE = "My";
        var CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED = 2;
        var CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME = 1;

        function GetErrorMessage(e) {
            var err = e.message;
            if (!err) {
                err = e;
            } else if (e.number) {
                err += " (" + e.number + ")";
            }
            return err;
        }

        function CreateObject(name) {
            switch (navigator.appName) {
                case "Microsoft Internet Explorer":
                    return new ActiveXObject(name);
                default:
                    return cadesobject.CreateObject(name); 
            }
        }

        function SignCreate(certSubjectName, dataToSign) {
            var oStore = CreateObject("CAPICOM.Store");
            oStore.Open(CAPICOM_CURRENT_USER_STORE, CAPICOM_MY_STORE,CAPICOM_STORE_OPEN_MAXIMUM_ALLOWED);

            var oCertificates = oStore.Certificates.Find(CAPICOM_CERTIFICATE_FIND_SUBJECT_NAME, certSubjectName);
            if (oCertificates.Count == 0) {
                alert("Certificate not found: " + certSubjectName);
                return;
            }
            var oCertificate = oCertificates.Item(1);

            var oSigner = CreateObject("CAdESCOM.CPSigner");
            oSigner.Certificate = oCertificate;
            oSigner.TSAAddress = "http://cryptopro.ru/tsp/";

            var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
            oSignedData.Content = dataToSign;

            try {
                var sSignedMessage = oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
            } catch (err) {
                alert("Failed to create signature. Error: " + GetErrorMessage(err));
                return;
            }

            oStore.Close();

            return sSignedMessage;
        }

        function Verify(sSignedMessage) {
            var oSignedData = CreateObject("CAdESCOM.CadesSignedData");
            try {
                oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1);
            } catch (err) {
                alert("Failed to verify signature. Error: " + GetErrorMessage(err));
                return false;
            }

            return true;
        }

        function run() {
            var signedMessage = SignCreate("Test User", "Message");

            document.getElementById("signature").innerHTML = signedMessage;

            var verifyResult = Verify(signedMessage);
            if (verifyResult) {
                alert("Signature verified");
            }
        }
    </script>
</body>
</html>

Отредактировано пользователем 14 сентября 2016 г. 16:18:19(UTC)  | Причина: Не указана

Offline basid  
#6 Оставлено : 12 сентября 2016 г. 16:35:39(UTC)
basid

Статус: Активный участник

Группы: Участники
Зарегистрирован: 21.11.2010(UTC)
Сообщения: 1,075

Сказал(а) «Спасибо»: 7 раз
Поблагодарили: 147 раз в 132 постах
Автор: KGasan Перейти к цитате
Мы можем со старыми лицензиями на CSP R3 использовать CSP R4 или даже 3.9 – 4.0?
Лицензия - на версию (старшая.младшая), т.е 3.6 - можете любую, 3.8+ - не можете никакой.
thanks 1 пользователь поблагодарил basid за этот пост.
KGasan оставлено 12.09.2016(UTC)
Offline KGasan  
#7 Оставлено : 12 сентября 2016 г. 18:04:26(UTC)
KGasan

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

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

Сказал(а) «Спасибо»: 1 раз
При формировании запроса на ключ и сертификат для демо-страницы указываю только Имя. Остальные поля по умолчанию.

Ваш запрос на сертификат был отвергнут.
Код запроса: 1377096. Сообщение о назначении: "Ошибка создания и публикации сертификата".
Обратитесь к системному администратору за дополнительными сведениями.

Offline KGasan  
#8 Оставлено : 14 сентября 2016 г. 15:59:48(UTC)
KGasan

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

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

Сказал(а) «Спасибо»: 1 раз
Во внешнем сегменте.
Win 7(32 bit) установлены:
IE10;
КриптоПро CSP 3.6 R4;
КриптоПро ЭЦП Browser plug-in 1.5.
сертификат и ключ сгенерированы Microsoft Digital Certificate for VBA Projects;
Владелец: CN=Test User
Издатель: CN=Test User
Выдан: 31.01.2016 21:00:00
Действителен до: 31.01.2022 21:00:00
Криптопровайдер: Microsoft Enhanced Cryptographic Provider v1.0
Алгоритм ключа: RSA

Ошибок при установке не возникало.

Демо-страница говорит - "Подпись сформирована успешно".

Создана простая html-страница путем копировани js примера из SDK "Создание и проверка подписи", добавлении кнопки на страницу для запуска функции run и заменой "Ivan Petrov" на имя сертификата в "Личные" (Test User).
При вызове
Код:
oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);
выдает ошибку:
Failed to create signature. Error: Не удается построить цепочку сертификатов для доверенного корневого центра. (-2146762486)

Во внутреннем сегменте.
Win 7(32 bit) установлены:
IE10;
КриптоПро CSP 3.6 R4;
КриптоПро ЭЦП Browser plug-in 1.5;
контейнер в реестре и привязанный к нему сертификат в "Личные";

Создана простая html-страница путем копирования js примера из SDK "Создание и проверка подписи", добавлении кнопки на страницу для запуска функции run и заменой "Ivan Petrov" на соотвествующее имя сертификата в "Личные".

При выполнении
Код:
Код:
oSignedData.SignCades(oSigner, CADESCOM_CADES_X_LONG_TYPE_1);

выдает ошибку:
Failed to create signature. Error: либо внутренняя ошибка ASN1 либо ошибка дешифровки. (-2146881279)

Подскажите, пожалуйста, что еще нужно проверить/сделать.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.