I have problem with design of next business logic.
I had server (S) acts as CA with some services, and many clients (A,B, …) that registered on server. Each client has it’s sertificate. Each client can sign his message so server can authorize him, ie request (pseudocode):
A -> { from: A, message: ..., signiture: A signiture} -> S
But I need another level of authorization: sometimes client A should send messages from B name, so message will look like:
A -> { from: B, message: ..., signiture: A signiture} -> S
So server somehow should test if A is allowed to acts as B. Is there a way to make such logic on sertificate level with bouncycastle? I need an idea without implementation.
You could include a field in the certificate, that containes the names that this certificate may alias as. This only works if you use certificates that can include other fields (like X509)