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

Уведомление

Icon
Error

2 Страницы12>
Опции
К последнему сообщению К первому непрочитанному
Offline Mixalloff  
#1 Оставлено : 16 марта 2018 г. 12:32:03(UTC)
Mixalloff

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

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

Сказал(а) «Спасибо»: 1 раз
Как я могу с помощью cadesplugin при создании запроса на сертификат установить срок действия запрашиваемого сертификата?
Сейчас я создаю запрос так:

Код:
 async function createRequest( userDistinguishedName ) {
    if ( !userDistinguishedName ) return null;
    const PKey = await createObject("X509Enrollment.CX509PrivateKey");
    const targetCSPObject = await _getCSPObject();

    setProperty(PKey, 'ProviderName', targetCSPObject.name);
    setProperty(PKey, 'ProviderType', targetCSPObject.type);
    setProperty(PKey, 'KeySpec', 1);

    const CertificateRequestPkcs10 = await createObject("X509Enrollment.CX509CertificateRequestPkcs10");
    CertificateRequestPkcs10.InitializeFromPrivateKey(1, PKey, "");

    const DistinguishedName = await createObject("X509Enrollment.CX500DistinguishedName");
    const XCN_CERT_NAME_STR_NONE = 0;
    DistinguishedName.Encode(userDistinguishedName, XCN_CERT_NAME_STR_NONE);
    setProperty(CertificateRequestPkcs10, 'Subject', DistinguishedName);

    const X509Extensions = await CertificateRequestPkcs10.X509Extensions;
    const KeyUsageExtension = await createObject("X509Enrollment.CX509ExtensionKeyUsage");
    const CERT_DATA_ENCIPHERMENT_KEY_USAGE = 0x10,
          CERT_KEY_ENCIPHERMENT_KEY_USAGE = 0x20,
          CERT_DIGITAL_SIGNATURE_KEY_USAGE = 0x80,
          CERT_NON_REPUDIATION_KEY_USAGE = 0x40;

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

    X509Extensions.Add(KeyUsageExtension);

    const Enroll = await createObject("X509Enrollment.CX509Enrollment");
    Enroll.InitializeFromRequest(CertificateRequestPkcs10);
    
    const CRYPT_STRING_BASE64REQUESTHEADER = 3;
    const certReq = await Enroll.CreateRequest(CRYPT_STRING_BASE64REQUESTHEADER);
    return certReq;
  }


Что необходимо добавить?
Пытался установить CpRaCertPeriod и CpRaCertPeriodUnits:
Код:

    const CpRaCertPeriod = await createObject("X509Enrollment.CX509NameValuePair");
    CpRaCertPeriod.Initialize("CpRaCertPeriod", "1");
    Enroll.NameValuePairs.Add(CpRaCertPeriod);

    const CpRaCertPeriodUnits = await createObject("X509Enrollment.CX509NameValuePair");
    CpRaCertPeriodUnits.Initialize("CpRaCertPeriodUnits", "Months");
    Enroll.NameValuePairs.Add(CpRaCertPeriodUnits);

Но кидает ошибку: Class not registered. (0x80040154)
Как я могу создать объект CX509NameValuePair? Или можно задать срок иным способом?

Отредактировано пользователем 16 марта 2018 г. 12:57:50(UTC)  | Причина: Не указана

Offline cross  
#2 Оставлено : 16 марта 2018 г. 13:43:25(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
В стандарте описывающий запрос на сертификат такой возможности не предусмотрено. Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет.
При этом в общем случае наш УЦ поддерживает дополнительные атрибуты запроса, которые позволяют установить срок действия, или задать время начала или окончания действия сертификата. Для того, чтобы УЦ их использовал, нужно разрешить задавать срок действия в шаблоне сертификата в настройках ЦС.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Mixalloff  
#3 Оставлено : 16 марта 2018 г. 13:47:31(UTC)
Mixalloff

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

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

Сказал(а) «Спасибо»: 1 раз
А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты?
Где можно найти документацию или примеры по этому вопросу?

Отредактировано пользователем 16 марта 2018 г. 15:06:34(UTC)  | Причина: Не указана

Offline cross  
#4 Оставлено : 16 марта 2018 г. 16:45:15(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Автор: Mixalloff Перейти к цитате
А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты?
Где можно найти документацию или примеры по этому вопросу?


Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Варенуха  
#5 Оставлено : 31 июля 2018 г. 17:44:19(UTC)
Варенуха

Статус: Активный участник

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

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 26 раз в 18 постах
Автор: cross Перейти к цитате
Автор: Mixalloff Перейти к цитате
А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты?
Где можно найти документацию или примеры по этому вопросу?


Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет.


Я правильно понимаю, что в настоящее время вообще не существует программных средств добавить в формируемый запрос время окончания срока действия сертификата, хотя ЦС такую функциональность поддерживает?
Offline cross  
#6 Оставлено : 31 июля 2018 г. 18:18:56(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Эта возможность отсутствует в плагине, если вы делаете запрос через CryptoApi или Java ( КриптоПро JCP) то там такая возможность есть.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Варенуха  
#7 Оставлено : 1 августа 2018 г. 11:55:19(UTC)
Варенуха

Статус: Активный участник

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

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 26 раз в 18 постах
Автор: cross Перейти к цитате
Эта возможность отсутствует в плагине, если вы делаете запрос через CryptoApi или Java ( КриптоПро JCP) то там такая возможность есть.


Можете поделиться примером кода для её реализации через CryptoApi?
Offline cross  
#8 Оставлено : 1 августа 2018 г. 17:20:41(UTC)
Анатолий Беляев

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

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Готового примера нет. Вы можете при подписании запроса на сертификат добавить туда подписанный атрибут. Его структура описана в документации на УЦ.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline Максим Коллегин  
#9 Оставлено : 2 августа 2018 г. 1:55:41(UTC)
Максим Коллегин

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

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

Сказал «Спасибо»: 32 раз
Поблагодарили: 704 раз в 613 постах
Нужно добавить подобный атрибут в запрос.
Можно сделать через XEnroll.

Отредактировано пользователем 2 августа 2018 г. 1:56:36(UTC)  | Причина: Не указана

Знания в базе знаний, поддержка в техподдержке
Offline Варенуха  
#10 Оставлено : 2 августа 2018 г. 12:52:38(UTC)
Варенуха

Статус: Активный участник

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

Сказал(а) «Спасибо»: 28 раз
Поблагодарили: 26 раз в 18 постах
Автор: Максим Коллегин Перейти к цитате
Можно сделать через XEnroll.


Подскажите как добавить необходимые атрибуты в IX509CertificateRequestPkcs10 или IX509CertificateRequestPkcs10V2 (используется Windows 7)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы12>
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.