我试图通过SSL与Java RMI要做到这一点,但后来我发现,SSL证书将提供主机级别的认证而不是过程级认证。
另外,我是在配置存储密钥库的密码; 这样的证书可以由另一个攻击过程中使用,也可以得到验证。
我试图通过SSL与Java RMI要做到这一点,但后来我发现,SSL证书将提供主机级别的认证而不是过程级认证。
另外,我是在配置存储密钥库的密码; 这样的证书可以由另一个攻击过程中使用,也可以得到验证。
用于SSL / TLS的X.509证书可能被用于识别的东西比一个主机名其他(这已经是典型的客户端证书完成)。
有两种类型的验证建立SSL / TLS连接到服务器时所涉及:
默认情况下,Java的SSLSocket
,除非你添加了一些做IT方面不进行第二个步骤。 (在Java 7中,一些新的SSL参数让你信任管理器内这样做,但只针对特定的协议。)
什么你需要的是找到一种方法来定义如何识别您的其他应用程序和进程,使用的东西比主机名一样,这些命名惯例颁发证书,并让您的客户端应用程序检查。
您应该能够实现一个在您自己的身份验证机制SSLSocketFactory
,每种方法返回插座前,一个使用该工厂为你的RMI应用程序,如下所述: https://blogs.oracle.com/lmalventosa/entry/ using_the_ssl_tls_based1