我有一个Java项目,要求我们使用相互身份验证证书。我们的代码应该与具有给定IP地址的服务器通信

socket = new Socket("00.000.000.000", 0002);


由于我们的代码正在与远程系统通信:


如果我在未连接到互联网的机器(pc)中创建一个自签名证书,则如果我使用此证书,则双向认证将起作用。
如果我使用Letsencrypt生成证书,将可以进行相互身份验证。我计划在我的数字海洋飞沫中生成Letsencrypt证书。

最佳答案

如果我在未连接到互联网的机器(pc)中创建一个自签名证书,则如果我使用此证书,则双向认证将起作用。


仅当对等方信任它时。 Internet连接部分无关紧要。您将需要将自签名证书导出到对等方,并将其导入到其信任库中。


  如果我使用Letsencrypt生成证书,将可以进行相互身份验证。我计划在我的数字海洋飞沫中生成Letsencrypt证书。


如果对等方的信任库信任LetsEncrypt的证书,它将起作用。


  根本问题是,相互身份验证将始终与从普通PC签名的自签名证书一起使用


不,请参见上面。


  或由公认的权威机构签署将起作用


是。

通常,应避免使用自签名证书。他们不值得在上面打印纸。

关于java - 相互认证如何工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42711947/

10-12 02:11