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