Java 允许使用用户如何在证书级别充当另一个用户

Java 允许使用用户如何在证书级别充当另一个用户,java,cryptography,bouncycastle,Java,Cryptography,Bouncycastle,我对下一个业务逻辑的设计有问题。 我让服务器充当一些服务的CA,以及在服务器上注册的许多客户端(A、B……)。每个客户都有自己的证书。每个客户端都可以对其消息进行签名,以便服务器可以对其进行授权,即请求(伪代码): 但我需要另一个级别的授权:有时客户端A应该从B名称发送消息,所以消息看起来像: A -> { from: B, message: ..., signiture: A signiture} -> S 所以服务器应该以某种方式测试A是否被允许充当B。有没有办法用bouncy

我对下一个业务逻辑的设计有问题。 我让服务器充当一些服务的CA,以及在服务器上注册的许多客户端(A、B……)。每个客户都有自己的证书。每个客户端都可以对其消息进行签名,以便服务器可以对其进行授权,即请求(伪代码):

但我需要另一个级别的授权:有时客户端A应该从B名称发送消息,所以消息看起来像:

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

所以服务器应该以某种方式测试A是否被允许充当B。有没有办法用bouncycastle在sertificate级别创建这样的逻辑?我需要一个没有实现的想法。

您可以在证书中包含一个字段,其中包含此证书可能别名为的名称。仅当您使用可以包含其他字段(如X509)的证书时,此操作才有效。

能否提供有关此过程的更多信息。据我所知,B应该在A的证书中设置一些信息(他的姓名和签名),然后A的带有这些信息的公共证书应该存储在CA?(类似Smth的pgp信任网络)。我明白你的意思吗?事实上我的意思不同,但你的想法(或你的评论让我想到的东西)实际上更好:要求B到A的证书,使A能够以B的名义发送消息。拼写错误更正:要求B签署A,以便使A能够以B的名义发送消息。但我想你已经猜到了。
A -> { from: B, message: ..., signiture: A signiture} -> S