Как разрешить использование пользователя действует как еще один на уровне сертификата - PullRequest
1 голос
/ 12 апреля 2011

У меня проблема с дизайном следующей бизнес-логики. У меня был сервер (S), действующий как CA с некоторыми службами, и много клиентов (A, B, ...), которые зарегистрированы на сервере. У каждого клиента есть свой сертификат. Каждый клиент может подписать свое сообщение, чтобы сервер мог его авторизовать, т.е. запрос (псевдокод):

A -> { from: A, message: ..., signiture: A signiture} -> S

Но мне нужен другой уровень авторизации: иногда клиент A должен отправлять сообщения от имени B, поэтому сообщение будет выглядеть так:

A -> { from: B, message: ..., signiture: A signiture} -> S

Таким образом, сервер каким-то образом должен проверить, разрешено ли A действовать как B. Можно ли создать такую ​​логику на уровне сертификата с помощью bouncycastle? Мне нужна идея без реализации.

1 Ответ

2 голосов
/ 12 апреля 2011

Вы можете включить в сертификат поле, содержащее имена, которые этот сертификат может иметь псевдоним.Это работает, только если вы используете сертификаты, которые могут включать другие поля (например, X509)

...