Статус: Участник
Группы: Участники
Зарегистрирован: 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)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
В стандарте описывающий запрос на сертификат такой возможности не предусмотрено. Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет. При этом в общем случае наш УЦ поддерживает дополнительные атрибуты запроса, которые позволяют установить срок действия, или задать время начала или окончания действия сертификата. Для того, чтобы УЦ их использовал, нужно разрешить задавать срок действия в шаблоне сертификата в настройках ЦС. |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 11.12.2017(UTC) Сообщений: 10 Сказал(а) «Спасибо»: 1 раз
|
А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты? Где можно найти документацию или примеры по этому вопросу? Отредактировано пользователем 16 марта 2018 г. 15:06:34(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Автор: Mixalloff А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты? Где можно найти документацию или примеры по этому вопросу? Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.04.2013(UTC) Сообщений: 246 Сказал(а) «Спасибо»: 28 раз Поблагодарили: 26 раз в 18 постах
|
Автор: cross Автор: Mixalloff А каким образом я могу установить эти поля через cadesplugin? Какие объекты для этого используются и как называются атрибуты? Где можно найти документацию или примеры по этому вопросу? Так в же интерфейсе CertEnroll который реализован в плагине такой функциональности нет. Я правильно понимаю, что в настоящее время вообще не существует программных средств добавить в формируемый запрос время окончания срока действия сертификата, хотя ЦС такую функциональность поддерживает?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Эта возможность отсутствует в плагине, если вы делаете запрос через CryptoApi или Java ( КриптоПро JCP) то там такая возможность есть. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.04.2013(UTC) Сообщений: 246 Сказал(а) «Спасибо»: 28 раз Поблагодарили: 26 раз в 18 постах
|
Автор: cross Эта возможность отсутствует в плагине, если вы делаете запрос через CryptoApi или Java ( КриптоПро JCP) то там такая возможность есть. Можете поделиться примером кода для её реализации через CryptoApi?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Готового примера нет. Вы можете при подписании запроса на сертификат добавить туда подписанный атрибут. Его структура описана в документации на УЦ. |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC) Сообщений: 6,377 Откуда: КРИПТО-ПРО Сказал «Спасибо»: 32 раз Поблагодарили: 706 раз в 614 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 25.04.2013(UTC) Сообщений: 246 Сказал(а) «Спасибо»: 28 раз Поблагодарили: 26 раз в 18 постах
|
Автор: Максим Коллегин Подскажите как добавить необходимые атрибуты в IX509CertificateRequestPkcs10 или IX509CertificateRequestPkcs10V2 (используется Windows 7)
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close