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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline strelok67  
#1 Оставлено : 9 апреля 2009 г. 18:45:33(UTC)
strelok67

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

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

Подскажите, пожалуйста!
Можно ли при использовании EnvelopedData из CAPICOM для шифрования сертификатом CryptoPro получить контент, зашифрованный по ГОСТ 28147-89 ?
Следующая функция (делфи) теоретически должна это делать, но дает ошибку "The specified encryption algorithm is invalid".

function TCapicomClass.EncryptStr(const s: String): String;
begin
Result := '';
if s = '' then exit;
F_EnvelopedData := Unassigned;
EnvelopedData.Content := s;
EnvelopedData.Recipients.Clear;
EnvelopedData.Recipients.Add(F_EncodeCert);
EnvelopedData.Algorithm.Name := CRYPTO_PRO_ALG_ID;
EnvelopedData.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;
Result := EnvelopedData.Encrypt(CAPICOM_ENCODE_BASE64);
end;

Если в качестве алгоритма подставлять стандартные значения (CAPICOM_ENCRYPTION_ALGORITHM_xxx), то все работает на ура.

CryptoPro CSP 2.0, CAPICOM 2.0+2.1
Offline Kirill Sobolev  
#2 Оставлено : 9 апреля 2009 г. 19:26:48(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
конечно можно
Цитата:
EnvelopedData.Algorithm.Name := CRYPTO_PRO_ALG_ID;
EnvelopedData.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM;

сделайте вообще без этих строк. CAPICOM, к сожалению, вообще про ГОСТ ничего не знает, поэтому и ругается.
Техническую поддержку оказываем тут
Наша база знаний
Offline strelok67  
#3 Оставлено : 9 апреля 2009 г. 19:53:00(UTC)
strelok67

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

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

Так вопрос тогда в следующем: в этом случае шифрование сообщения будет на ГОСТе или на каком-нибудь RC2, ключ которого зашифруется на ГОСТе?
Offline Kirill Sobolev  
#4 Оставлено : 9 апреля 2009 г. 20:35:06(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Будет на ГОСТе.
Техническую поддержку оказываем тут
Наша база знаний
Offline strelok67  
#5 Оставлено : 10 апреля 2009 г. 13:30:15(UTC)
strelok67

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

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

Спасибо за ответы!
И еще один вопрос: у вас на сайте нашел программу cryptcp.exe, которая умеет подписывать и шифровать файлы. Я пытался использовать ее как эталон, однако сообщение, зашифрованное моей процедурой и расшифрованное данной программой переводится в юникод, а если шифровать вашей программой, а расшифровывать capicom, сообщение портится окончательно. Не подскажете как добиться совместимости?

И заодно по поводу лицензии на вашу программу: сколько будет действовать тестовая лицензия и что произойдет, когда она кончится?
Offline Kirill Sobolev  
#6 Оставлено : 10 апреля 2009 г. 15:11:48(UTC)
Кирилл Соболев

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

Группы: Участники
Зарегистрирован: 25.12.2007(UTC)
Сообщений: 1,733
Мужчина
Откуда: КРИПТО-ПРО

Поблагодарили: 177 раз в 168 постах
Цитата:
Я пытался использовать ее как эталон, однако сообщение, зашифрованное моей процедурой и расшифрованное данной программой переводится в юникод, а если шифровать вашей программой, а расшифровывать capicom, сообщение портится окончательно. Не подскажете как добиться совместимости?

Значит надо подавать для шифрования данные не в юникоде (как это сделать в Дельфи я не знаю Angel ), а после расшифрования преобразовывать в юникод - я думаю что вряд ли данные портятся, скорее они просто показываются в неудобоваримом виде, для проверки, например, можно сохранить их в бинарный файл и посмотреть что там окажется. В факе есть этот вопрос - http://www.cryptopro.ru/.../products/csp/faq.htm#11
Цитата:
сколько будет действовать тестовая лицензия и что произойдет, когда она кончится?

Смотря про какую программу идет речь. CSP 3.0 и cryptcp - 1 месяц, CSP 3.6 - 3 месяца. После окончания лицензии cryptcp не будет работать вообще, CSP не будет выполнять операции, связанные с закрытыми ключами.
Техническую поддержку оказываем тут
Наша база знаний
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.