Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.06.2009(UTC) Сообщений: 89 Откуда: Уфа, РРЦ "АйТи"
|
1) Новожилова Елена написал:Цитата:Штамп времени в документе - это его серийный номер - по которому можно запросить информацию о хеше подписанного документа и дату и сертификат, так ведь ? Нет, не так. Штамп времени (time-stamp) - это подписанный ЭЦП документ, которым Служба штампов времени удостоверяет, что в указанный момент времени ей было предоставлено значение хэш-функции от другого документа. Само значение хэш-функции также указывается в штампе. Вот Вы говорите, что заказчик хочет досконально знать процедуру проверки: Цитата:для заказчика очень важно знать точный механизм (конечный автомат) действий при проверке подписи. Т.е. когда и как будут проверяться сертификаты, будет ли для этого использоваться сеть интернет и т.д.; Как Вы собираетесь объяснять это заказчику, если сами в предмете не разбираетесь и даже не хотите попытаться? При запросе штампа времени через TSP сервис - ему предоставляется хеш документа подписанного документа(или документ - в зависимости от реализации), а обратно возвращается серийный номер(в составе TimeStampToken) архивной записи по которой возможно получить в мануальном режиме (т.е. телефон, личные встречи и т.д.) данные о факте подписания - разве не так? 2) В свете обсужденного: Цитата: public string Sign(string document) { try { CadesSignedData oSignedData = new CadesSignedData(); oSignedData.Content = document;
//Создание и проверка подписи CAdES BES
string sSignedData = oSignedData.SignCades(null, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64); oSignedData.VerifyCades(sSignedData, CADESCOM_CADES_TYPE.CADESCOM_CADES_BES, true);
// Дополнение подписи CAdES BES до подписи CAdES X Long Type 1 (вторая // подпись остается без изменения, так как она уже CAdES X Long Type 1)
sSignedData = oSignedData.EnhanceCades(CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, TSPServer, CAPICOM_ENCODING_TYPE.CAPICOM_ENCODE_BASE64);
// Проверка полученных параллельных подписей на соответствие CAdES X Long Type 1
oSignedData.VerifyCades(sSignedData, CADESCOM_CADES_TYPE.CADESCOM_CADES_X_LONG_TYPE_1, true);
return sSignedData; } catch(Exception exc) { throw new Exception(exc.Message, exc); } }
на EnhanceCades бросается исключение System.Exception was unhandled Message="Данный метод был вызван в неправильном состоянии (Исключение из HRESULT: 0x8004D011)" Source="CAdESWrapper" StackTrace: в CAdES.CAdESWrapper.Sign(String document) в D:\Avior\Main\3rdParty\CAdES\CAdESWrapper\CAdESWrapper.cs:строка 50 в CAdES.Signer.Sign(XDocument document) в D:\Avior\Main\3rdParty\CAdES\CAdES\Signer.cs:строка 52 3) Как в противовес в коду во втором пункте подписать в формате CAdES-X с вызовом одного метода и одним запросом пароля ( с указанием, разумеется, TSP сервера) ? 4) Новожилова Елена написал: 3. Есть метод Display в интерфейсе ICPSignedData и в интерфейсе ICPSigner2.
При установке ЭЦПSDK этот интерфейс доступен, При установке только cadescom.msi - его нет. Отредактировано пользователем 4 декабря 2009 г. 17:27:27(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Цитата:При запросе штампа времени через TSP сервис - ему предоставляется хеш документа подписанного документа(или документ - в зависимости от реализации), а обратно возвращается серийный номер(в составе TimeStampToken) архивной записи по которой возможно получить в мануальном режиме (т.е. телефон, личные встречи и т.д.) данные о факте подписания - разве не так? Нет, не так. Штамп времени - это подписанный ЭЦП документ, в котором содержится хэш документа, время и подпись службы штампов. Проверка штампа времени не подразумевает обращения к службе штампов. 2. Воспроизвести не удалось - у нас аналогичный код работает. Возможно, проблема в этом - См. http://www.cryptopro.ru/...des/working-capicom.html3. Можно использовать функцию SignCades с параметром CADESCOM_CADES_X_LONG_TYPE_1. А адрес службы штампов задать в групповой политике. 4. Вопрос не очень понятен. Отредактировано пользователем 7 декабря 2009 г. 17:14:10(UTC)
| Причина: Не указана
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.01.2010(UTC) Сообщений: 6
|
Доброго дня.
Скачал последнюю версию CAdESCOM. Поставилось все нормально, но при обращении к ее функциям (так же и на низкоуровневые функции) вылетает окно инсталляции, а затем ошибка 0x800700B7. До этого стояла версия cadessdk.1.00.0206 таких проблем не было. Подскажите в чем причина такого поведения.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2009(UTC) Сообщений: 11 Откуда: Moscow
|
Saha написал:Доброго дня.
Скачал последнюю версию CAdESCOM. Поставилось все нормально, но при обращении к ее функциям (так же и на низкоуровневые функции) вылетает окно инсталляции, а затем ошибка 0x800700B7. До этого стояла версия cadessdk.1.00.0206 таких проблем не было. Подскажите в чем причина такого поведения.
У меня таже самая ошибка. Система Windows XP Pro SP3
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
В этом билде SDK ассембли подписаны не тем ключом, из-за чего возникают описанные ошибки. Исправленный билд будет в ближайшие дни. |
|
|
|
|
Статус: Вам и не снилось
Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC) Сообщений: 831 Откуда: Крипто-Про
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 48 раз в 44 постах
|
Исправленная версия доступна для скачивания. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2009(UTC) Сообщений: 11 Откуда: Moscow
|
Смирнов написал:Исправленная версия доступна для скачивания. Спасибо, эта ошибка пропала :)
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 13.01.2010(UTC) Сообщений: 6
|
Доброго дня.
Скачал последнюю версию CAdESCOM (1.01.0482) и снова появилось окно инсталляции, а затем ошибка 0x800700B7.
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Saha написал:Скачал последнюю версию CAdESCOM (1.01.0482) и снова появилось окно инсталляции, а затем ошибка 0x800700B7.
Вы можете уточнить условия, при которых возникает ошибка?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 08.04.2009(UTC) Сообщений: 30 Откуда: Череповец
Поблагодарили: 1 раз в 1 постах
|
1. Не удается провести проверку подписи типа CADESCOM_CADES_X_LONG_TYPE_1 Вот код подписывания (C++ Builder 6): Цитата: Variant oSigner; oSigner = Variant::CreateObject("CAdESCOM.CPSigner"); char *sTSAAddress = "http://cryptopro.ru/tsp/tsp.srf"; oSigner.OlePropertySet("TSAAddress",sTSAAddress); Variant oCert; Variant MyCerts; Variant MyCert; Variant oStore; oStore = Variant::CreateObject("CAPICOM.Store"); MyCerts = Variant::CreateObject("CAPICOM.Certificates"); MyCert = Variant::CreateObject("CAPICOM.Certificate"); oStore.OleProcedure("Open",CAPICOM_CURRENT_USER_STORE); oCert = oStore.OlePropertyGet("Certificates");
MyCerts = oCert.OleFunction("Select"); MyCert = MyCerts.OlePropertyGet("Item",1);
oSigner.OlePropertySet("Certificate",MyCert); Variant oSignedData; Variant oSettings; oSignedData = Variant::CreateObject("CAdESCOM.CadesSignedData"); oSignedData.OlePropertySet("Content","Some very significant message"); Variant sSignedData; sSignedData = oSignedData.OleFunction("SignCades",oSigner, CADESCOM_CADES_X_LONG_TYPE_1, False, CAPICOM_ENCODE_BASE64); Memo1->Lines->Text=VarToStr(sSignedData);
Код проверки Цитата: Variant oSignedData; oSignedData = Variant::CreateObject("CAdESCOM.CadesSignedData"); char *Message = Memo1->Lines->Text.c_str(); Variant Result; Result = oSignedData.OleFunction("VerifyCades",Message,CADESCOM_CADES_X_LONG_TYPE_1,False); Вываливается на последней строке, с сообщением "Ошибка". Сгенерированная подпись проверяется утилитой cryptcp без ошибок. Если использовать тип CADESCOM_CADES_BES, все проверяется без ошибок. 2. Если я правильно понимаю в данном выше примере генерируется код который содержит "Сообщение+ЭЦП+Сертификаты"? А если необходимо отдельно получить штам времени на документ, то необходимо использовать TSP SDK?
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close