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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Boris@Serezhkin.com  
#1 Оставлено : 2 мая 2013 г. 13:05:25(UTC)
Boris@Serezhkin.com

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

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Речь пойдет про следующий параметр:
EncParams.ContentEncryptionAlgorithm.pszObjId
Как известно - нельзя зашифровать на комплекте сертификатов ГОСТ+RSA
И я даже понимаю почему Drool Самому удивительно.
Просто я начал вылизывать свои наброски и сводить их в единый класс.
Проверяю CryptEncryptMessage Кучка сертификатов по ГОСТу - все хорошо.
Подсовываю RSA-шную кучку - Unknown Algorithm.
Смотрю и удивляюсь своей невнимательности. Было прописано намертво:
EncParams.ContentEncryptionAlgorithm.pszObjId := szOID_CP_GOST_28147;
И вот тут я притупил не по детски.
Ранее, при помощи чужих знаний, я привел cert.Signature.alg... к HashAlg...
А вот его же к ENCRYPT_ALG... не могу. УВЫ.
Но это не самое интересное. Конечно я нашел, что для RSA надо szOID_RSA_RC4 или RC2.
RC2 не пробовал, вроде алгоритм скомпроментирован.
И вот тут начались чудеса Boo hoo!
Подкладываю стопку сертификатов по ГОСТ - Ок, но szOID_RSA_RC4 я оставил Think
Стопка RSA - Ок.
Ну мы же не лаптем щи хлебаем. пишем по русски:
EncParams.ContentEncryptionAlgorithm.pszObjId := nil;
Стопка ГОСТ - Ок. Стопка RSA - Unknown Algorithm.

Получается, что стандартному CryptoAPI для поиска алгоритма мало одного сертификата?
Это КриптоПро сумничало? Кстати нигде такое поведение не описано...
Не, я не против, я и сам бы сделал также.
Хорошо что явное указание szOID_RSA_RC4 для КриптоПро не помеха Drool

А если я захочу AES? Остается вопрос - узнать алгоритм шифрования по сертификату.
Или надо от Public_Key танцевать?

Борис
Offline Максим Коллегин  
#2 Оставлено : 2 мая 2013 г. 22:30:53(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
Все верно, для совместимости со стандартными приложениями алгоритмы шифрования и хэширования заменяются на ГОСТ для ГОСТ-ключей.
Иногда проще подвинуть гору.
Знания в базе знаний, поддержка в центре поддержки
Offline Максим Коллегин  
#3 Оставлено : 2 мая 2013 г. 22:36:00(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 39 раз
Поблагодарили: 750 раз в 645 постах
А выяснить алгоритм шифрования/хэширования по сертификату сложно. Или hard-code как у MS, или, имея криптопровайдер ключа сертификата, вызвать PP_ENUMALGS и выбрать поддерживаемые алгоритмы. Нормальной связи между алгоритмами не предусмотрено.
Знания в базе знаний, поддержка в центре поддержки
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.