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

Уведомление

Icon
Error

9 Страницы«<45678>»
Опции
К последнему сообщению К первому непрочитанному
Offline Randoom  
#51 Оставлено : 4 декабря 2009 г. 1:27:59(UTC)
Randoom

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

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

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)  | Причина: Не указана

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

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

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

Поблагодарили: 99 раз в 95 постах
Цитата:
При запросе штампа времени через TSP сервис - ему предоставляется хеш документа подписанного документа(или документ - в зависимости от реализации), а обратно возвращается серийный номер(в составе TimeStampToken) архивной записи по которой возможно получить в мануальном режиме (т.е. телефон, личные встречи и т.д.) данные о факте подписания - разве не так?


Нет, не так. Штамп времени - это подписанный ЭЦП документ, в котором содержится хэш документа, время и подпись службы штампов. Проверка штампа времени не подразумевает обращения к службе штампов.

2. Воспроизвести не удалось - у нас аналогичный код работает. Возможно, проблема в этом - См. http://www.cryptopro.ru/...des/working-capicom.html

3. Можно использовать функцию SignCades с параметром CADESCOM_CADES_X_LONG_TYPE_1. А адрес службы штампов задать в групповой политике.

4. Вопрос не очень понятен.

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

Offline Saha  
#53 Оставлено : 13 января 2010 г. 17:14:33(UTC)
Saha

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

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

Доброго дня.

Скачал последнюю версию CAdESCOM. Поставилось все нормально, но при обращении к ее функциям (так же и на низкоуровневые функции) вылетает окно инсталляции, а затем ошибка 0x800700B7. До этого стояла версия cadessdk.1.00.0206 таких проблем не было. Подскажите в чем причина такого поведения.
Offline Softovick  
#54 Оставлено : 14 января 2010 г. 18:25:57(UTC)
Softovick

Статус: Участник

Группы: Участники
Зарегистрирован: 11.12.2009(UTC)
Сообщений: 11
Откуда: Moscow

Saha написал:
Доброго дня.

Скачал последнюю версию CAdESCOM. Поставилось все нормально, но при обращении к ее функциям (так же и на низкоуровневые функции) вылетает окно инсталляции, а затем ошибка 0x800700B7. До этого стояла версия cadessdk.1.00.0206 таких проблем не было. Подскажите в чем причина такого поведения.

У меня таже самая ошибка. Система Windows XP Pro SP3
Offline Павел Смирнов  
#55 Оставлено : 27 января 2010 г. 16:00:14(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
В этом билде SDK ассембли подписаны не тем ключом, из-за чего возникают описанные ошибки. Исправленный билд будет в ближайшие дни.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Павел Смирнов  
#56 Оставлено : 28 января 2010 г. 11:26:38(UTC)
Павел Смирнов

Статус: Вам и не снилось

Группы: Администраторы
Зарегистрирован: 24.12.2007(UTC)
Сообщений: 831
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 48 раз в 44 постах
Исправленная версия доступна для скачивания.
Техническую поддержку оказываем тут.
Наша база знаний.
Offline Softovick  
#57 Оставлено : 28 января 2010 г. 15:05:13(UTC)
Softovick

Статус: Участник

Группы: Участники
Зарегистрирован: 11.12.2009(UTC)
Сообщений: 11
Откуда: Moscow

Смирнов написал:
Исправленная версия доступна для скачивания.

Спасибо, эта ошибка пропала :)
Offline Saha  
#58 Оставлено : 23 марта 2010 г. 19:51:12(UTC)
Saha

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

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

Доброго дня.

Скачал последнюю версию CAdESCOM (1.01.0482) и снова появилось окно инсталляции, а затем ошибка 0x800700B7.
Offline Новожилова Елена  
#59 Оставлено : 25 марта 2010 г. 17:32:51(UTC)
Новожилова Елена

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

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

Поблагодарили: 99 раз в 95 постах
Saha написал:
Скачал последнюю версию CAdESCOM (1.01.0482) и снова появилось окно инсталляции, а затем ошибка 0x800700B7.


Вы можете уточнить условия, при которых возникает ошибка?
Offline ZaaZ  
#60 Оставлено : 25 марта 2010 г. 19:18:06(UTC)
ZaaZ

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

Группы: Участники
Зарегистрирован: 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?
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest (7)
9 Страницы«<45678>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.