我必须在客户端和服务器之间创建SSL连接。我创建了一个键盘并用我的私钥签署了我的公钥。服务器不会信任它,所以我需要让它由一个CA签名。我假定服务器将信任一个证书,该证书是由同一个CA签名的,该证书是用来签署自己的证书的。如何使用keytool创建签名证书的业务?对不起,如果这是重复的信息在甲骨文网站,但出于某种原因,他们的网页不断破坏我的互联网浏览器。
到目前为止,知识是基于答案here的。
发布于 2017-11-20 15:28:42
我假定服务器将信任一个证书,该证书是由同一个CA签名的,该证书是用来签署自己的证书的。
纠正这里的假设:默认情况下,系统信任各种主要的证书颁发机构(例如: GeoTrust、Entrust、OpenTrust、Verisign等)。当您得到由任何已知CA签名的CSR时,服务器将默认信任,而不仅仅是由签署服务器证书的CA进行信任。
要测试客户端和服务器之间的SSL连接,您可以做的是使用自签名证书。
我创建了一个键盘并用我的私钥签名了我的公钥
你不应该作为客户这么做。服务器应该这样做。如果服务器使用的是自签名证书,则需要向客户端提供该证书,以便客户端可以信任它们进行SSL连接。
作为服务器,您可以使用keytool创建自签名证书.当你用键盘工具生成一个键盘时,它会问你一些属性,比如commonName,organizationName,等等.使用这些属性,keytool将创建一个自签名证书,并将其与私钥关联。您所要做的就是使用keytool -exportcert命令导出此证书。完成此部分后,您将使用此证书来保护服务器。
一旦服务器被保护,服务器应该给或客户端这个证书,因为它是自签名的,客户端的系统不会信任它,直到您显式地信任它。如果服务器使用由CA签名的证书进行了安全保护,则无需向客户端提供任何证书,因为如果它是已知的CA,则客户端系统将已经信任它。
https://stackoverflow.com/questions/47394297
复制相似问题