java RMI newbie--关于SSL和auth / .rate限制RMI服务的一些基本问题

时间:2012-12-18 18:25:13

标签: java rmi

我正在尝试使用SSL来保护基于Java的RMI服务。

我对使用SSL的功能有一些基本的问题。具体来说,根据我的理解,通过SSL连接的客户端和服务器将需要在客户端和服务器中都具有适当的凭证证书,以便客户端被授予对服务器的访问权限。我的理解是正确的吗?

另外,我想知道的是,可以使用我的RMI服务并且可以访问客户端计算机的人,可以将客户端计算机中的证书副本复制到其他客户端计算机 - 然后调用我的那些其他机器的RMI服务也是如此?

如何防止出现这种情况?我的意思是,在REST API中您可以使用OAuth身份验证,我们可以在RMI服务中进行某种身份验证吗?

另外,我可以限制RMI服务的使用吗?例如,可以允许特定客户端每天仅向我的RMI服务拨打5000个呼叫,如果他拨打更多呼叫,则在5000个呼叫限制之后发生的呼叫全部被拒绝?如何为我的RMI服务进行此类速率限制和/或身份验证?

1 个答案:

答案 0 :(得分:1)

  

具体来说,根据我的理解,通过SSL连接的客户端和服务器需要在客户端和服务器上都有适当的凭证证书,以便客户端被授予访问服务器的权限。我的理解是否正确?

没有。只有服务器需要证书。客户端证书是可选的。

  

另外,我想知道的是,可以使用我的RMI服务并且可以访问客户端计算机的人,可以将客户端计算机中的证书副本复制到其他客户端计算机 - 然后调用我的那些其他机器的RMI服务也是如此?

当然可以。证书和应用程序的物理安全性是您的问题。 SSL无法为您解决问题。

  

另外,我可以限制RMI服务的使用吗?例如,可以允许特定客户端每天仅向我的RMI服务拨打5000个呼叫,如果他拨打更多呼叫,则在5000个呼叫限制之后发生的呼叫全部被拒绝?如何为我的RMI服务进行此类速率限制和/或身份验证?

自己编码。将每日计数器粘贴在数据库中。