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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline SuslegStyle  
#1 Оставлено : 18 декабря 2014 г. 8:09:10(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Здравствуйте, помогите разобраться с созданием запроса на сертификат в браузере.
Проблема возникает именно с этапом добавления расширения политики сертификата.
Поскольку plugin не знает класса "X509Enrollment.CCertificatePolicy", то создать это расширение пытаюсь через "X509Enrollment.CX509Extension"

Вот код:
Код:

				var CPolicyIds = CreateObject('X509Enrollment.CObjectIds');
        //Заполнение OID политик сертификата
        for (var index = 0; index < Policy.length; index++) {
            var CPolicy = CreateObject('X509Enrollment.CObjectId');
            CPolicy.InitializeFromValue(Policy[index]);
            CPolicyIds.Add(CPolicy);
        }

        var pExt = CreateObject('X509Enrollment.CObjectId');
        pExt.InitializeFromValue("2.5.29.32");

        var PolicyExtension = CreateObject('X509Enrollment.CX509Extension');
        PolicyExtension.Initialize(CPolicyIds, XCN_CRYPT_STRING_BASE64, pExt);//Тут ошибка, параметр задан неверно.

        cRequest.X509Extensions.Add(PolicyExtension);


На правильном ли я пути? может вместо константы XCN_CRYPT_STRING_BASE64 надо использовать что-то другое? Непонятно как правильно закодировать эти политики.
И еще вопрос о дальнейших действиях, как правильно потом привязать сертификат к закрытому ключу. Нужно инициализировать CX509Enrollment через имя созданного контейнера или же по созданному запросу на сертификат? Хотелось бы примеры посмотреть, работы с вашим плагином.

Отредактировано пользователем 18 декабря 2014 г. 14:34:35(UTC)  | Причина: Добавлен второй вопрос

Offline Новожилова Елена  
#2 Оставлено : 18 декабря 2014 г. 14:44:17(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Offline SuslegStyle  
#3 Оставлено : 18 декабря 2014 г. 14:54:48(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Да, я читал эту страницу. Все равно не понятно, каким образом CObjectIds представить в этом виде
Цитата:
A BSTR variable that contains the DER-encoded extension value.


Или не нужен CObjectIds?
Offline Новожилова Елена  
#4 Оставлено : 18 декабря 2014 г. 15:25:43(UTC)
Новожилова Елена

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

Группы: Администраторы, Участники
Зарегистрирован: 10.12.2008(UTC)
Сообщений: 924
Женщина
Откуда: Крипто-Про

Поблагодарили: 99 раз в 95 постах
Нужно закодированное значение расширения. Первый параметр - OID добавляемого расширения, второй - кодировка, третий - закодированное значение в этой кодировке.
Если вы добавляете расширение CertificatePolicies, то посмотреть его ASN.1 нотацию можно, например, здесь: http://msdn.microsoft.co...ws/desktop/aa378121.aspx
То есть, представить CObjectIds в виде закодированной строки явно недостаточно.
Offline SuslegStyle  
#5 Оставлено : 19 декабря 2014 г. 9:05:56(UTC)
SuslegStyle

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

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

Сказал(а) «Спасибо»: 2 раз
Разобраться не получилось. Пробовал создать объект и кодировать его в base64.
Запрос успешно создавался, но в политиках сертификата значилось только V1 и выпустить сертификат не получалось.

Потом в настройках УЦ заметил, что OID политик сертификата достаточно добавить в улучшенный ключ запроса. И при выпуске сертификата на УЦ, их потом оттуда вытащат и положат куда нужно.
На этом варианте и остановился. Добавляю все в EKU, а там есть замечательный метод InitializeFromValue, который принимает нормальную человеческую строчку. )))

С привязкой сертификата к закрытому ключу тоже все получилось сразу.

Спасибо!

Отредактировано пользователем 19 декабря 2014 г. 9:07:02(UTC)  | Причина: закрыт вопрос по привязке сертификата

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.