Форум КриптоПро
»
КриптоПро УЦ
»
КриптоПро УЦ 2.0
»
Задать шаблон в запросе на сертификат
Статус: Участник
Группы: Участники
Зарегистрирован: 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?
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 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
================ ОШИБКА РАСШИФРОВКИ! ================
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733  Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Не надо ничего добавлять в base64, все проще. Если Вы хотите задать расширение CertType (с именем шаблона, например "User"), то используйте метод addCertTypeToRequest из ICEnroll4. Если же Вы хотите задать именно oid шаблона, то используйте addCertTypeToRequestEx. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 15.01.2013(UTC) Сообщений: 20   Сказал «Спасибо»: 1 раз Поблагодарили: 6 раз в 4 постах
|
Код: if (strTemplateOid) {
enroll.addCertTypeToRequestEx(2, strTemplateOid, 1, true, 0);
}
Вот работающее решение
|
|
|
|
Форум КриптоПро
»
КриптоПро УЦ
»
КриптоПро УЦ 2.0
»
Задать шаблон в запросе на сертификат
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close