Java SSLSockets是否需要提供的SSL证书?
在HTTPS技术中,安全连接需要SSL证书。此证书必须通过自生成或通过证书颁发机构(CA)获取 在Java中,Java SSLSockets是否需要提供的SSL证书?,java,security,networking,ssl,ssl-certificate,Java,Security,Networking,Ssl,Ssl Certificate,在HTTPS技术中,安全连接需要SSL证书。此证书必须通过自生成或通过证书颁发机构(CA)获取 在Java中,SSLSocket到SSLSocket的连接承诺了与HTTPS连接相同的安全性(中间没有人,加密等) 连接在两个独立Java程序(一个客户端,一个服务器)中实例化的两个SSLSockets时,是否需要向Java(服务器)提供有效的证书 用于指定要使用哪个证书的方法有哪些?文档似乎对此没有任何说明 我这里说的是纯Java。我不是说使用Java通过HTTPS连接到web服务 这些套接字用于将
SSLSocket
到SSLSocket
的连接承诺了与HTTPS连接相同的安全性(中间没有人,加密等)
连接在两个独立Java程序(一个客户端,一个服务器)中实例化的两个SSLSocket
s时,是否需要向Java(服务器)提供有效的证书
用于指定要使用哪个证书的方法有哪些?文档似乎对此没有任何说明
我这里说的是纯Java。我不是说使用Java通过HTTPS连接到web服务
这些套接字用于将用户名和密码从一个Java应用程序(客户端)发送到另一个Java应用程序(服务器),以进行身份验证,因此,它们必须尽可能安全。如果您想要进行安全加密,您需要一个只有双方都知道的预共享密钥,或者您必须进行某种密钥交换来计算加密密钥。密钥交换需要正确的标识,否则就有可能实现安全的端到端加密 对于预共享密钥的使用,请注意TLS-PSK。在谷歌上搜索时,Android的实现似乎有一些成功之处,但主要是人们在问它是否可行。使用替代SSL实现BouncyCastle可能实现这一点 如果不使用PSK,您可以尝试使用匿名密码(ADH)。我不知道Java是否支持它们,但无论如何,您仍然需要有某种标识,以确保您正在与预期的服务器通信 当然还有证书。如果不想在应用程序中使用公共证书,可以将自签名证书与一起使用 在HTTPS技术中,安全协议需要SSL证书 连接。此证书必须通过自生成获得, 或通过证书颁发机构(CA)。在Java中,用于 SSLSocket连接承诺与HTTPS连接具有相同的安全性 (中间没有人,加密等) 否:HTTPS=通过SSL套接字的HTTP流量 在连接两个单独的SSLSocket中实例化的两个SSLSocket时, 独立Java程序(一个客户端,一个服务器),是否需要 是否向Java(服务器)提供有效的证书? 是-证书和私钥。如果您想要双向SSL,客户端还需要自己的一组密钥/证书 用于指定要使用哪个证书的方法有哪些?这个 文档似乎对此没有任何说明 有很多地方需要覆盖。我不确定您已经知道多少,您需要阅读的内容包括keytool、KeyStore、SSLContext、SSLServerSocketFactory、KeyManager 或者你可以直接去看一些例子,比如 连接在两个独立Java程序(一个客户端,一个服务器)中实例化的两个SSLSocket时,是否需要向Java(服务器)提供有效的证书 在正常使用中,服务器(以
SSLServerSocket
结尾)需要对等方信任的证书
仅当服务器配置为需要证书时,客户端才需要证书,这不是默认情况
用于指定要使用哪个证书的方法有哪些?文档似乎对此没有任何说明
看。您可以通过系统属性执行此操作。您也可以编写一英尺左右的代码,但这不是必需的