Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.03.2017(UTC) Сообщений: 46   Откуда: Хабаровск Сказал «Спасибо»: 12 раз Поблагодарили: 2 раз в 1 постах
|
Здравствуйте! Код:return new Promise(function(resolve, reject)
{
cadesplugin.async_spawn(function *(args)
{
var Enroll = yield cadesplugin.CreateObjectAsync("X509Enrollment.CX509Enrollment");
yield Enroll.Initialize(0x1);
resolve(yield Enroll.InstallResponse(0, CertData, 6, ""));
});
});
Как я понял, что данный код устанавливает сертификат в хранилище только если запрос на данный сертификат был создан на этом же пк. И он хранится в запросах на сертификат. Согласно https://msdn.microsoft.c...ws/desktop/aa378051.aspx если в первом аргументе 0 заменить на 2, то должен установиться промежуточный сертификат. Если на 4, то доверенный рутовский. Ставлю 2 - получаю Access is denied. (0x80070005) Ставлю 4 - получаю Cannot find object or property. (0x80092004) Вопрос в том, как можно установить сторонний сертификат (сертификат какого-либо УЦ) в хранилище ОС с помощью JS? В доверенные/промежуточные! Если не через Enroll (тк оно вроде как только для работы с запросами), то как. Отредактировано пользователем 30 января 2018 г. 10:54:59(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Установить сертификат в хранилище CA или Root из JS не получится. Если вы прочитаете документацию которую вы привели до конца, то там будет вот такое Цитата:If you call this method from the web, you can specify only AllowNone or AllowUntrustedRoot in the Restrictions parameter. If you specify AllowNoOutstandingRequest or AllowUntrustedCertificate, the method returns an E_ACCESSDENIED error.
Из соображений безопасности мы поддерживаем только установку сертификата, запрос для которого, был сгенерирован на этой же машине и в этой же сессии. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 31.03.2017(UTC) Сообщений: 46   Откуда: Хабаровск Сказал «Спасибо»: 12 раз Поблагодарили: 2 раз в 1 постах
|
Автор: cross  Установить сертификат в хранилище CA или Root из JS не получится. Если вы прочитаете документацию которую вы привели до конца, то там будет вот такое Цитата:If you call this method from the web, you can specify only AllowNone or AllowUntrustedRoot in the Restrictions parameter. If you specify AllowNoOutstandingRequest or AllowUntrustedCertificate, the method returns an E_ACCESSDENIED error.
Из соображений безопасности мы поддерживаем только установку сертификата, запрос для которого, был сгенерирован на этой же машине и в этой же сессии. Понял, не дочитал. Никаких еще способов, кроме костылей с написанием клиентской части ПО(как делают некоторые УЦ), не существует? Отредактировано пользователем 30 января 2018 г. 15:49:46(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Нет, других способов нет. В правильно построенном PKI промежуточные сертификаты должны выкачиватся автоматически через AIA, а установка ROOT должна быть осознаным действием пользователя. Поэтому из браузера, автоматом нельзя ставить. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close