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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline Гермес  
#1 Оставлено : 10 января 2017 г. 12:09:55(UTC)
Гермес

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

Группы: Участники
Зарегистрирован: 15.01.2013(UTC)
Сообщений: 20
Мужчина
Российская Федерация

Сказал «Спасибо»: 1 раз
Поблагодарили: 6 раз в 4 постах
Добрый день.

Кто уже столкнулся с генерацией запроса на сертификат под IE8 на XP?
Для УЦ 1.5 все было просто, передавали DN и набор расширений. Как теперь в запрос добавить шаблон?
Код ниже не проходит проверку через certuti -dump

Код:


function CreateRequestXP(strDn, strOids, containerPrefix, strTemplateOidBase64) {
    var enroll = new ActiveXObject("CEnroll.CEnroll");
      // Тип провайдера: ГОСТ Р 34.10-2001.
    enroll.ProviderType = 75;
    enroll.KeySpec = 1; //X509KeySpec.XCN_AT_KEYEXCHANGE
    enroll.GenKeyFlags = 1; //CRYPT_ARCHIVABLE
    enroll.ContainerName = GetContainerName(containerPrefix);

    if (strTemplateOidBase64) {
        enroll.addExtensionToRequest(0, "1.3.6.1.4.1.311.21.7", strTemplateOidBase64);
    }

    var response = enroll.CreateRequest(1, strDn, strOids);
    return response;
}


В работающий исходный запрос для УЦ 1.5 добавлен метод для добавления произвольного расширения 1.3.6.1.4.1.311.21.7 - "шаблон сертификата"

Код:
if (strTemplateOidBase64) {
        enroll.addExtensionToRequest(0, "1.3.6.1.4.1.311.21.7", strTemplateOidBase64);
    }


Самый главный вопрос в каком виде добавлять значение strTemplateOidBase64?
Offline Гермес  
#2 Оставлено : 10 января 2017 г. 13:25:21(UTC)
Гермес

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

Группы: Участники
Зарегистрирован: 15.01.2013(UTC)
Сообщений: 20
Мужчина
Российская Федерация

Сказал «Спасибо»: 1 раз
Поблагодарили: 6 раз в 4 постах
если в strTemplateOidBase64 задавать значение "1.2.643.2.2.46.0.8" закодированное в base64 то на выходе получем
Код:

    1.3.6.1.4.1.311.21.7: Флаги = 0, Длина = 12
    Сведения о шаблоне сертификата
    Неизвестный тип расширения

    0000  31 2e 32 2e 36 34 33 2e  32 2e 32 2e 34 36 2e 30   1.2.643.2.2.46.0
    0010  2e 38                                              .8
0000: 31 2e 32 2e 36 34 33 2e  32 2e 32 2e 34 36 2e 30  ; 1.2.643.2.2.46.0
0010: 2e 38                                             ; .8
================ ОШИБКА РАСШИФРОВКИ! ================

Offline Kirill Sobolev  
#3 Оставлено : 10 января 2017 г. 14:51:06(UTC)
Кирилл Соболев

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

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

Поблагодарили: 177 раз в 168 постах
Не надо ничего добавлять в base64, все проще.
Если Вы хотите задать расширение CertType (с именем шаблона, например "User"), то используйте метод addCertTypeToRequest из ICEnroll4.
Если же Вы хотите задать именно oid шаблона, то используйте addCertTypeToRequestEx.
Техническую поддержку оказываем тут
Наша база знаний
Offline Гермес  
#4 Оставлено : 12 января 2017 г. 12:10:02(UTC)
Гермес

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

Группы: Участники
Зарегистрирован: 15.01.2013(UTC)
Сообщений: 20
Мужчина
Российская Федерация

Сказал «Спасибо»: 1 раз
Поблагодарили: 6 раз в 4 постах
Код:
 if (strTemplateOid) {
        enroll.addCertTypeToRequestEx(2, strTemplateOid, 1, true, 0);
    }


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