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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline ahtoh  
#1 Оставлено : 23 сентября 2011 г. 17:20:41(UTC)
ahtoh

Статус: Участник

Группы: Участники
Зарегистрирован: 23.09.2011(UTC)
Сообщений: 17

1) Считывается имя контейнера из сертификата. Результат - UTF16 Big Endian строка c маркером последовательности байт.
2) Менятеся порядок байт на little endian. Результат - UTF16 Little Endian строка.
3) Вызывается метод CryptAcquireContextW.
4) Метод возвращает 0, GetLastError возвращает 0.

Если вызывается метод CryptAcquireContextA с теми же параметрами что и CryptAcquireContextW, для контейнера не содержащего кирилических символов, то все работает. (Естественно имя контейра в этом случае конвертируется например в UTF8, перед вызовом CryptAcquireContextA)

Вопросы:
1) Поддерживаются ли широкие строки под Linux?
2) Если они не поддерживаются, то в какой кодировке необходимо передавать параметр szContainer в функции CryptAcquireContextA?
3) Что будет если имя контейнера содержит символы не содержащиеся в данной кодировке?
4) Как написать код под Linux, который будет всегда работать в независимости от символов в имени контейнера?
Offline Русев Андрей  
#2 Оставлено : 21 октября 2011 г. 22:45:57(UTC)
Русев Андрей

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

Группы: Администраторы, Участники
Зарегистрирован: 16.04.2008(UTC)
Сообщений: 1,521

Сказал(а) «Спасибо»: 42 раз
Поблагодарили: 618 раз в 428 постах
1. да
2. в кодировке файловой системы ОС
3. контейнер не откроется
4. например так: обычно в использовании низкоуровневых ф-ций, типа CryptAcquireContext() нет необходимости. Делаете CryptAcquireCertificateProvateKey() и имя контейнера - не ваша проблема. Если что-то не работает, мы это исправляем.
Официальная техподдержка. Официальная база знаний.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.