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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline pavloid21  
#1 Оставлено : 16 мая 2018 г. 7:49:50(UTC)
pavloid21

Статус: Новичок

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

есть функция по созданию запроса на сертификат

Код:
function ReqCreate() {
return new Promise(function(resolve, reject){
cadesplugin.async_spawn(function *(args) {
console.log(cadesplugin);
var objCSP = yield cadesplugin.CreateObjectAsync("X509Enrollment.CCspInformation");
var objCSPs = yield cadesplugin.CreateObjectAsync("X509Enrollment.CCspInformations");
var objPrivateKey = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509PrivateKey");
var objRequest = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509CertificateRequestPkcs10")
var objObjectIds = yield cadesplugin.CreateObjectAsync("X509Enrollment.CObjectIds");
var objObjectId = yield cadesplugin.CreateObjectAsync("X509Enrollment.CObjectId");
var objX509ExtensionEnhancedKeyUsage = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509ExtensionEnhancedKeyUsage");
var objExtensionTemplate = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509ExtensionTemplate");
var objDn = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX500DistinguishedName");
var objEnroll = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509Enrollment");
var objExtensionKeyUsage = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509ExtensionKeyUsage");

yield objCSP.InitializeFromName("Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider");
yield objCSPs.Add(objCSP);
yield objPrivateKey.Length = 512;
yield objPrivateKey.KeySpec = 1;
yield objPrivateKey.ExportPolicy = 1;
yield objPrivateKey.Existing = false;
yield objPrivateKey.CspInformations = objCSPs;
yield objPrivateKey.ProviderName = "Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider";
yield objPrivateKey.ProviderType = 75;
yield objRequest.InitializeFromPrivateKey(1, objPrivateKey, "");
yield objObjectId.InitializeFromValue("1.3.6.1.5.5.7.3.2");
yield objObjectIds.Add(objObjectId);
yield objX509ExtensionEnhancedKeyUsage.InitializeEncode(objObjectIds);
var Extensions = yield objRequest.X509Extensions;
yield Extensions.Add(objX509ExtensionEnhancedKeyUsage);
yield objDn.Encode("CN='CommonName'"); // XCN_CERT_NAME_STR_NONE = 0 XCN_CERT_NAME_STR_DISABLE_UTF8_DIR_STR_FLAG = 0x100000
yield objRequest.Subject = objDn;
yield objRequest.SmimeCapabilities = true; //SMIME
yield objExtensionKeyUsage.InitializeEncode(0x80|0x40|0x20|0x10); // Электронная подпись, Неотрекаемость, Шифрование ключей, Шифрование данных (F0)
yield Extensions.Add(objExtensionKeyUsage);
yield objEnroll.InitializeFromRequest(objRequest);
var pkcs10 = yield objEnroll.CreateRequest(3);
alert(pkcs10);
download('out.req', pkcs10); // функция загрузки запроса в виде файла
return pkcs10;
}, resolve, reject);
});
}


запрос создается, но в КриптоПро УЦ 2.0 при создании пользователя из запроса - все поля пустые. Что я делаю не так?
Offline Артемьев Владимир  
#2 Оставлено : 23 мая 2018 г. 11:06:50(UTC)
Артемьев Владимир

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

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

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