Статус: Новичок
Группы: Участники
Зарегистрирован: 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
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
конечно можно Цитата:EnvelopedData.Algorithm.Name := CRYPTO_PRO_ALG_ID; EnvelopedData.Algorithm.KeyLength := CAPICOM_ENCRYPTION_KEY_LENGTH_MAXIMUM; сделайте вообще без этих строк. CAPICOM, к сожалению, вообще про ГОСТ ничего не знает, поэтому и ругается. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 09.04.2009(UTC) Сообщений: 3 Откуда: Москва
|
Так вопрос тогда в следующем: в этом случае шифрование сообщения будет на ГОСТе или на каком-нибудь RC2, ключ которого зашифруется на ГОСТе?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 09.04.2009(UTC) Сообщений: 3 Откуда: Москва
|
Спасибо за ответы! И еще один вопрос: у вас на сайте нашел программу cryptcp.exe, которая умеет подписывать и шифровать файлы. Я пытался использовать ее как эталон, однако сообщение, зашифрованное моей процедурой и расшифрованное данной программой переводится в юникод, а если шифровать вашей программой, а расшифровывать capicom, сообщение портится окончательно. Не подскажете как добиться совместимости?
И заодно по поводу лицензии на вашу программу: сколько будет действовать тестовая лицензия и что произойдет, когда она кончится?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Я пытался использовать ее как эталон, однако сообщение, зашифрованное моей процедурой и расшифрованное данной программой переводится в юникод, а если шифровать вашей программой, а расшифровывать capicom, сообщение портится окончательно. Не подскажете как добиться совместимости? Значит надо подавать для шифрования данные не в юникоде (как это сделать в Дельфи я не знаю  ), а после расшифрования преобразовывать в юникод - я думаю что вряд ли данные портятся, скорее они просто показываются в неудобоваримом виде, для проверки, например, можно сохранить их в бинарный файл и посмотреть что там окажется. В факе есть этот вопрос - http://www.cryptopro.ru/.../products/csp/faq.htm#11Цитата:сколько будет действовать тестовая лицензия и что произойдет, когда она кончится? Смотря про какую программу идет речь. CSP 3.0 и cryptcp - 1 месяц, CSP 3.6 - 3 месяца. После окончания лицензии cryptcp не будет работать вообще, CSP не будет выполнять операции, связанные с закрытыми ключами. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close