有没有办法在运行被调用的方法(服务器端)时安全地获取方法调用者?
我知道通过服务器属性可以访问客户端字符串,但是它不是太“弱”吗?任何方式得到例如客户证书所有者?
请给我一些提示,之后会立即获得RTFD;)
提前致谢
答案 0 :(得分:2)
这是RMI / SSL的主要问题之一。除了通过erickson建议等额外代码之外,无法获得对等证书。这实际上使它不安全,因为无法执行授权步骤:您获得隐私,完整性和身份验证,但没有授权。请参阅我的White Paper进行扩展讨论。
答案 1 :(得分:1)
我没有想到这一点太过彻底,但是我还是建议插入一个自定义TrustManager
,在验证调用者之后,将客户端证书与调用者的线程相关联。这可以通过ThreadLocal
或使用JAAS架构来完成。