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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline KuzyXD  
#1 Оставлено : 18 сентября 2020 г. 9:09:29(UTC)
KuzyXD

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

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

Сказал(а) «Спасибо»: 7 раз
Здравствуйте. Однажды мне помогли разобраться на этом форуме с вопросом по плагину. Надеюсь на вашу помощь снова.

Проблема сейчас заключается в том, что я никак не могу успешно установить сертификат через InstallResponse. Привожу код:

Цитата:

return new Promise((resolve, reject) => {
window.cadesplugin.async_spawn(function *(args) {

var PKey = yield window.cadesplugin.CreateObjectAsync("X509Enrollment.CX509PrivateKey");

yield PKey.propset_ProviderName("Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider");
yield PKey.propset_ProviderType(80);
yield PKey.propset_KeySpec(AT_KEYEXCHANGE); // XCN_AT_KEYEXCHANGE

var CertificateRequestPkcs10 = yield window.cadesplugin.CreateObjectAsync("X509Enrollment.CX509CertificateRequestPkcs10");
yield CertificateRequestPkcs10.InitializeFromPrivateKey(1, PKey, "");

var DistinguishedName = yield window.cadesplugin.CreateObjectAsync("X509Enrollment.CX500DistinguishedName");
yield DistinguishedName.Encode("CN=\"TestName\";");
yield CertificateRequestPkcs10.propset_Subject(DistinguishedName);

var KeyUsageExtension = yield window.cadesplugin.CreateObjectAsync("X509Enrollment.CX509ExtensionKeyUsage");

yield KeyUsageExtension.InitializeEncode(CERT_KEY_ENCIPHERMENT_KEY_USAGE|CERT_DATA_ENCIPHERMENT_KEY_USAGE|CERT_DIGITAL_SIGNATURE_KEY_USAGE|CERT_NON_REPUDIATION_KEY_USAGE);

var extensions = yield CertificateRequestPkcs10.X509Extensions;
yield extensions.Add(KeyUsageExtension);

var Enroll = yield window.cadesplugin.CreateObjectAsync("X509Enrollment.CX509Enrollment");
yield Enroll.InitializeFromRequest(CertificateRequestPkcs10);

var certReq = yield Enroll.CreateRequest(1);
console.log(certReq);
console.log(yield Enroll.InstallResponse(0, certReq, 1, ""));
resolve(certReq);
});
});


А всплывают ошибки в таком роде:
Пример ошибки
Offline Андрей *  
#2 Оставлено : 18 сентября 2020 г. 9:25:21(UTC)
Андрей *

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

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

Сказал «Спасибо»: 494 раз
Поблагодарили: 2035 раз в 1579 постах
Здравствуйте.

А зачем точка с запятой после значения CN?
Техническую поддержку оказываем тут
Наша база знаний
Offline KuzyXD  
#3 Оставлено : 18 сентября 2020 г. 9:28:30(UTC)
KuzyXD

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

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

Сказал(а) «Спасибо»: 7 раз
Следовал примеру по созданию запроса на выпуск сертификата: http://cpdn.cryptopro.ru...est-for-certificate.html
Offline Ситдиков Денис  
#4 Оставлено : 21 сентября 2020 г. 11:48:58(UTC)
Ситдиков Денис

Статус: Администратор

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 29 раз в 20 постах
Добрый день!
Enroll.CreateRequest создает запрос на сертификат. В дальнейшем его надо отправить в УЦ.
Для этого можно использовать тестовый УЦ.
Для Enroll.InstallResponse аргументом передается ответ из УЦ.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.