我有一个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/