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

Уведомление

Icon
Error

9 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Новожилова Елена  
#11 Оставлено : 29 октября 2009 г. 18:34:08(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
Спасибо, мануал поправим.

Извините, опечатка - конечно же свойством Signers.
Offline Randoom  
#12 Оставлено : 29 октября 2009 г. 18:36:48(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

Новожилова Елена написал:

Извините, опечатка - конечно же свойством Signers.

Это то понятно - непонятно как.
Можно небольшой примерчик вызова окна выбора сертификата?
Offline Новожилова Елена  
#13 Оставлено : 29 октября 2009 г. 18:51:39(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
Первую подпись делаете, указывая в параметрах метода SignCades null, для вызова окна выбора сертификата. Потом достаете коллекцию Signers, там должен быть один элемент Signer. Его в дальнейшем и используете.

Не то, чтобы это был стандартный способ, но если сильно хочется...
Offline Randoom  
#14 Оставлено : 29 октября 2009 г. 18:54:04(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

Новожилова Елена написал:
Первую подпись делаете, указывая в параметрах метода SignCades null, для вызова окна выбора сертификата. Потом достаете коллекцию Signers, там должен быть один элемент Signer. Его в дальнейшем и используете.

Не то, чтобы это был стандартный способ, но если сильно хочется...


Не совсем очевидный - но очень даже замечательный способ - главное чтобы заработало, спасибо.
Offline Randoom  
#15 Оставлено : 29 октября 2009 г. 19:04:39(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

Код:


 public string Sign(XDocument document, X509Certificate2 cert, X509Store store)
        {
            //CPSigner cpSigner = new CPSigner();
           // cpSigner.TSAAddress = TSPServer;
            //cpSigner.Certificate = GetCAPICOMCert(cert, store);
            CadesSignedData oSignedData = new CadesSignedData();
            oSignedData.Content = document.ToString();

            //Создание и проверка подписи CAdES BES

            string sSignedData = oSignedData.SignCades(null, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, false,
                                      CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
            oSignedData.VerifyCades(sSignedData, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, false);

            // Создание параллельной подписи CAdES X Long Type 1

            sSignedData = oSignedData.CoSignCades(oSignedData.Signers[0], CADESCOM_CADES_TYPE.CADESCOM_CADES_DEFAULT,
                                                  CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);


Падение на последней строке с ошибкой
System.Runtime.InteropServices.COMException was unhandled by user code
Message="Криптографическое сообщение не содержит всех запрошенных атрибутов. (Исключение из HRESULT: 0x8009100F)"
Source="Interop.CAdESCOM"
ErrorCode=-2146889713
StackTrace:
в CAdESCOM.CadesSignedDataClass.get_Signers()
в CAdES.CAdESWrapper.Sign(XDocument document, X509Certificate2 cert, X509Store store) в D:\Avior\Development\3rdParty\CAdES\CAdESWrapper\CAdESWrapper\CAdESWrapper.cs:строка 45
в CAdES.Signer.Sign(XDocument document, X509Certificate2 cert, X509Store store) в D:\Avior\Development\3rdParty\CAdES\CAdES\CAdES\Signer.cs:строка 24


соответственно :

- Signers '((CAdESCOM.CadesSignedDataClass)(oSignedData)).Signers' threw an exception of type 'System.Runtime.InteropServices.COMException' CAPICOM.Signers {System.Runtime.InteropServices.COMException}

При этом окна с выбором сертификата не было

подскажите в чем ошибка

Отредактировано пользователем 30 октября 2009 г. 10:37:15(UTC)  | Причина: Не указана

Offline Randoom  
#16 Оставлено : 30 октября 2009 г. 11:11:28(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

в свою очередь
Код:

            CadesSignedData oSignedData = new CadesSignedData();
            oSignedData.Content = document.ToString();

            //Создание и проверка подписи CAdES BES

            string res = oSignedData.Sign(null, true, CAPICOM.CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);////

в последней строке вызывает ошибку из-за которой начиналась эти ветка, т.е.

System.Runtime.InteropServices.COMException was unhandled by user code
Message="Исключение из HRESULT: 0xC2100121"
Source="Interop.CAdESCOM"
ErrorCode=-1039138527
StackTrace:
в CAdESCOM.CadesSignedDataClass.Sign(ISigner pSigner, Boolean bDetached, CAPICOM_ENCODING_TYPE EncodingType)
в CAdES.CAdESWrapper.Sign(XDocument document, X509Certificate2 cert, X509Store store) в D:\Avior\Development\3rdParty\CAdES\CAdESWrapper\CAdESWrapper\CAdESWrapper.cs:строка 39
в CAdES.Signer.Sign(XDocument document, X509Certificate2 cert, X509Store store) в D:\Avior\Development\3rdParty\CAdES\CAdES\CAdES\Signer.cs:строка 24
в
Offline Randoom  
#17 Оставлено : 30 октября 2009 г. 15:25:39(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

Господа, я верю - Вам не все-равно - отреагируйте пожалуйста Anxious
Offline Новожилова Елена  
#18 Оставлено : 30 октября 2009 г. 16:39:42(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
Цитата:
- Signers '((CAdESCOM.CadesSignedDataClass)(oSignedData)).Signers' threw an exception of type 'System.Runtime.InteropServices.COMException' CAPICOM.Signers {System.Runtime.InteropServices.COMException}


Это ошибка в Cadescom. Будем исправлять :-)

Цитата:
в последней строке вызывает ошибку из-за которой начиналась эти ветка, т.е.

А здесь то же самое, с чего начиналась ветка - не задан адрес службы штампов.

Отредактировано пользователем 30 октября 2009 г. 17:20:38(UTC)  | Причина: Не указана

Offline Новожилова Елена  
#19 Оставлено : 30 октября 2009 г. 17:26:28(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
Только сейчас заметила, а точно в случае с
Код:
public string Sign(XDocument document, X509Certificate2 cert, X509Store store)
        {
            //CPSigner cpSigner = new CPSigner();
           // cpSigner.TSAAddress = TSPServer;
            //cpSigner.Certificate = GetCAPICOMCert(cert, store);
            CadesSignedData oSignedData = new CadesSignedData();
            oSignedData.Content = document.ToString();

            //Создание и проверка подписи CAdES BES

            string sSignedData = oSignedData.SignCades(null, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, false,
                                      CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
            oSignedData.VerifyCades(sSignedData, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, false);

            // Создание параллельной подписи CAdES X Long Type 1

            sSignedData = oSignedData.CoSignCades(oSignedData.Signers[0], CADESCOM_CADES_TYPE.CADESCOM_CADES_DEFAULT,
                                                  CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);


не было окна с выбором сертификата? Ведь, по Вашим словам, ошибка происходит на последней строке, то есть, уже после выбора сертификата.
Offline Randoom  
#20 Оставлено : 30 октября 2009 г. 17:32:09(UTC)
Randoom

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

Группы: Участники
Зарегистрирован: 15.06.2009(UTC)
Сообщений: 89
Откуда: Уфа, РРЦ &quot;АйТи&quot;

1)
Новожилова Елена написал:

Цитата:
в последней строке вызывает ошибку из-за которой начиналась эти ветка, т.е.

А здесь то же самое, с чего начиналась ветка - не задан адрес службы штампов.


а ведь обещали адекватное описание ;) - я вот к этому ведь )

Смирнов написал:
По первому вопросу. Код ошибки означает "Не задан адрес службы штампов времени" (ошибка описана в модуле tspcli.dll). В другой ветке я вам уже описал причину возникновения этой ошибки.

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


2)
Новожилова Елена написал:

Только сейчас заметила, а точно в случае с
...
не было окна с выбором сертификата? Ведь, по Вашим словам, ошибка происходит на последней строке, то есть, уже после выбора сертификата.


В этом то и проблема ... окна нет, а подписание без сертификата проходит ... хуже того - еще и VerifyCades успешен ;)

Отредактировано пользователем 30 октября 2009 г. 17:44:04(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (6)
9 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.