Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.04.2008(UTC) Сообщений: 46 Откуда: Новосибирск
|
Добрый день!
Мы интегрируемся с КриптоПро УЦ 2.0 на астре (исполнения 15, 16) через REST API. В документации в нескольких местах (Например, ЖТЯИ.00078-03 90 03 руководство по эксплуатации, раздел 1.3.1.2) упомянут параметр шаблона сертификата PrioritySource=Profile, при котором данные для субъекта сертификата берутся «из профиля пользователя в запросе (атрибут CpRaRequesterProfile)». Но подробностей по CpRaRequesterProfile нигде нет.
Мы хотим передать атрибут CpRaRequesterProfile в подписанном PKCS#7 запросе на сертификат, чтобы переопределять некоторые записи в DN исходного запроса на сертификат. Это нужно сделать без модификации пользователей УЦ, т.к. он один для этих целей и мы не берем из него данные.
Подскажите, пожалуйста:
1 Какой OID у атрибута CpRaRequesterProfile в CMS signed attributes? 2 Какой формат его значения? Это именно данные или некая ссылка на существующий профиль пользователя? 3 Есть ли рабочий пример CpRaRequesterProfile?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,379   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 599 раз в 575 постах
|
Здравствуйте. Так не выйдет, надо передавать запрос с субъектом соответствующий профилю пользователя. Переопределять через запрос можно расширения, но не dn.
Судя по описанию вы хотите выпускать сертификаты одному пользователю - TLS и подписи, в рамках ПлЦР? Решение - передавать все компоненты имени на оба запроса, а что в субъект сертификата попадет - регулировать настройкой шаблона на сертификат. |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.04.2008(UTC) Сообщений: 46 Откуда: Новосибирск
|
Спасибо! Да, это для ПлЦР. Подскажите, пожалуйста, еще: 1) Автор: Захар Тихонов  Здравствуйте. Так не выйдет, надо передавать запрос с субъектом соответствующий профилю пользователя. Переопределять через запрос можно расширения, но не dn. Расскажите, пожалуйста, подробнее про CpRaRequesterProfile - что это и как используется? В документации на УЦ ничего про него не нашел. В старом руководстве на УЦ 2.0 от 2019г написано, что этот атрибут используется для сверки с профилем. Но в свежем руководстве от 2025г написано следующее : "PrioritySource - определяющее приоритет источника данных для формирования субъекта. Может принимать одно из следующих значений: Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта" То есть в запросе передается некий профиль, который используется для формирования субъекта, если PrioritySource=profile. Или я неправильно понял?
2) Автор: Захар Тихонов  Переопределять через запрос можно расширения, но не dn ... а что в субъект сертификата попадет - регулировать настройкой шаблона.
Подскажите, а мы можем передать нужные данные в расширении и потом шаблоном подставить это в DN?
3) Если PrioritySource=Subject(данные берутся из субъекта запроса) в шаблоне - это значит можно под одним фиксированным пользователем выдавать разные сертификаты с разными DN из CSR? Отредактировано пользователем 1 июня 2026 г. 20:34:55(UTC)
| Причина: Не указана
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,379   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 599 раз в 575 постах
|
Автор: Cynepnaxa  Мы хотим использовать одного технического пользователя для выдачи сертификатов всех пользователей.
Вот как вы написали - это звучит как обход лицензионных ограничений. Автор: Cynepnaxa  Раньше для этой цели мы меняли данные пользователя в УЦ и выдавали от него сертификаты. Но у такого подхода есть ряд проблем. Хотим устанавливать данные непосредственно в процессе выдачи сертификата. В идеале при помощи передачи данных где-то в подписи оператора, а не в самом csr, так как правила заполнения полей сертификатов у ЦБ меняются часто, и менять это в мобильном приложении проблематично, проще на бэке.
Автор: Cynepnaxa  Подскажите, пожалуйста, еще: 1) Автор: Захар Тихонов  Здравствуйте. Так не выйдет, надо передавать запрос с субъектом соответствующий профилю пользователя. Переопределять через запрос можно расширения, но не dn. Расскажите, пожалуйста, подробнее про CpRaRequesterProfile - что это и как используется? В документации на УЦ ничего про него не нашел. В старом руководстве на УЦ 2.0 от 2019г написано, что этот атрибут используется для сверки с профилем. Но в свежем руководстве от 2025г написано следующее : "PrioritySource - определяющее приоритет источника данных для формирования субъекта. Может принимать одно из следующих значений: Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта" То есть в запросе передается некий профиль, который используется для формирования субъекта, если PrioritySource=profile. Или я неправильно понял? Microsoft-специфичный атрибут: OID: 1.3.6.1.4.1.311.13.2.1 Имя: szOID_ENROLLMENT_NAME_VALUE_PAIR Он используется внутри PKCS#10 CSR для передачи дополнительных данных. Эти данные не являются частью Subject и могут содержать совершенно другую информацию. УЦ может использовать их для формирования SAN, выбора параметров сертификата, EOBO и т.д. В вашем частном случае использовать CpRaRequesterProfile для отправки запроса пользователю у которого такой же Profile, но будет работать только если передавать в подписи, а не как атрибут запроса. Автор: Cynepnaxa 
2) Автор: Захар Тихонов  Переопределять через запрос можно расширения, но не dn ... а что в субъект сертификата попадет - регулировать настройкой шаблона.
Подскажите, а мы можем передать нужные данные в расширении и потом шаблоном подставить это в DN? При отправке запроса на ЦР проверяется: 1. профиль пользователя и субъект запроса - если есть отличия -> запрос отклоняется. 2. Если в подписи к запросу передавать атрибут CpRaRequesterProfile, то будет сравниваться профиль пользователя с профилем в данном атрибуте -> субъект будет игнорироваться в запросе. В шаблоне обязательно должно быть указано, как должен быть сформирован субъект сертификата. Эта настройка содержится в объекте SubjectName и заключается в указании источника компонентов имени и правил формирования субъекта: PrioritySource - определяющее приоритет источника данных для формирования субъекта. Может принимать одно из следующих значений: o Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта o Subject - данные для формирования субъекта берутся в первую очередь из субъекта запроса, а если субъект не заполнен - то из профиля. Автор: Cynepnaxa 
3) Если PrioritySource=Subject(данные берутся из субъекта запроса) в шаблоне - это значит можно под одним фиксированным пользователем выдавать разные сертификаты с разными DN из CSR? Это реализовывалось, например, когда запрос делает дбо и кладет пустой субъект либо что-то типа DSN=guid, а хочется издать нормальный сертификат. |
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,379   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 599 раз в 575 постах
|
Автор: Cynepnaxa  В идеале при помощи передачи данных где-то в подписи оператора, а не в самом csr, так как правила заполнения полей сертификатов у ЦБ меняются часто, и менять это в мобильном приложении проблематично, проще на бэке.
Подскажите, пожалуйста, а в чем заключаются трудности, возможно мы подскажем как найти оптимальное решение. Отредактировано пользователем 1 июня 2026 г. 15:00:26(UTC)
| Причина: Не указана |
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.04.2008(UTC) Сообщений: 46 Откуда: Новосибирск
|
Подскажите, пожалуйста, что означает этот пункт в документации на УЦ 2.0 1.63.0.32? Цитата:В шаблоне обязательно должно быть указано, как должен быть сформирован субъект сертификата. Эта настройка содержится в объекте SubjectName и заключается в указании источника компонентов имени и правил формирования субъекта: PrioritySource - определяющее приоритет источника данных для формирования субъекта. Может принимать одно из следующих значений: Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта Subject - данные для формирования субъекта берутся в первую очередь из субъекта запроса, а если субъект не заполнен - то из профиля.
Rules... Т.е. из шаблона в сертификат могут попадать данные, которые не совпадают с профилем пользователя. PrioritySource = Subject работает через pkica, но через rest-api не получается это использовать, похоже RA требует точного соответствия запроса и пользователя, что делает бессмысленным настройки PrioritySource. Подскажите, пожалуйста, как можно воспользоваться PrioritySource через rest-api? как отключить проверку точного соответствия в RA?
|
|
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 17.08.2015(UTC) Сообщений: 3,379   Откуда: Калининград Сказал «Спасибо»: 40 раз Поблагодарили: 599 раз в 575 постах
|
Автор: Cynepnaxa  Подскажите, пожалуйста, что означает этот пункт в документации на УЦ 2.0 1.63.0.32? Цитата:В шаблоне обязательно должно быть указано, как должен быть сформирован субъект сертификата. Эта настройка содержится в объекте SubjectName и заключается в указании источника компонентов имени и правил формирования субъекта: PrioritySource - определяющее приоритет источника данных для формирования субъекта. Может принимать одно из следующих значений: Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта Subject - данные для формирования субъекта берутся в первую очередь из субъекта запроса, а если субъект не заполнен - то из профиля.
Rules... Т.е. из шаблона в сертификат могут попадать данные, которые не совпадают с профилем пользователя. PrioritySource = Subject работает через pkica, но через rest-api не получается это использовать, похоже RA требует точного соответствия запроса и пользователя, что делает бессмысленным настройки PrioritySource. Подскажите, пожалуйста, как можно воспользоваться PrioritySource через rest-api? как отключить проверку точного соответствия в RA? Надо разбить на две части. Отправка запроса на ЦР по APIПри отправке запроса на ЦР проверяется: 1. Профиль пользователя и субъект запроса - если есть отличия -> запрос отклоняется. 2. Если в подписи к запросу передавать атрибут CpRaRequesterProfile, то будет сравниваться Профиль пользователя с Профилем в данном атрибуте (CpRaRequesterProfile) - если есть отличия -> запрос отклоняется, нет отличий -> субъект будет игнорироваться в запросе. Обработка запроса на ЦСЗапрос обрабатывается на определенном шаблоне, и у него имеется правило формирования субъекта, а именно приоритет - использовать субъект запроса или Профиль пользователя (CpRaRequesterProfile). Вот вы и указываете откуда брать субъект для сертификата: Profile - данные для формирования субъекта берутся в первую очередь из профиля пользователя в запросе (атрибут CpRaRequesterProfile), а если профиль отсутствует - то из субъекта Subject - данные для формирования субъекта берутся в первую очередь из субъекта запроса, а если субъект не заполнен - то из профиля. |
|
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close