26.07.2007 4:44:03CAPICOM и Гост-ы Ответов: 3
Андрей
Я использую CAPICOM для подписи и шифрования.
Вопрос:
Какие параметры надо задать в объектах CAPICOM, чтобы использовать ГОСТ-овские алгоритмы?
Например, в CAPICOM.EnvelopedData есть параметр Algorithm, что в нем указывать?
Если явно не надо указывать, то откуда берутся алгоритмы подписи и шифрования?

Ответьте, пожалуйста, очень надо!
 
Ответы:
26.07.2007 15:39:03Василий
Алгоритмы берутся из сертификата.

Алгоритм подписи - это непосредственно алгоритм открытого ключа сертификата. Алгоритм шифрования определяется путём внутреннего вызова (самим CAPICOM-ом) списка криптоалгоритмов CSP.
27.07.2007 5:05:12Андрей
Василий, спасибо за ответ, но мне не доконца понятно следующее:
Я сталкивался (на этом форуме) с утверждением, что КриптоПро для шифрования сессионного ключа (процесс шифрования сообщения) использует ТОЛЬКО алгоритм Diffy-Helman. Этот алгоритм использует совместный ключ, который получается из секретного ключа отправителя и открытого получателя. У меня не присходит обращение к дискете, следавательно к секретному ключу отправителя.
Параметры используются по умолчанию.
Кроме КриптоПРО на машине только RSA встроенная в WINDOWS.
Вопрос - какой алгоритм шифрования исполльзуется, как это проверить и изменить, если необходимо?
Кроме того, что указывает параметр Algorithm в CAPICOM.EnvelopedData?
27.07.2007 13:56:59Василий
Да, наш CSP всегда использует шифрование сессионного ключа на ключе Диффи-Хеллмана.
Но! Ключ Диффи-Хеллмана не обязательно получается с помощью реального секретного ключа отправителя. В CMS (формат, который использует и CAPICOM) для этого применяется эфемеральный ключ. Поэтому обращения к дискете при зашифровании нет.

Чтобы проверить алгоритм шифрования - расшифруйте сообщение. Если алгоритм ГОСТ - будет вызван наш CSP и он обратится к секретному ключу (например, на дискете).

Или можно распарсить зашифрованное сообщение (dumpasn1 или аналог) и посмотреть OID алгоритма шифрования.