连接到外部SSL TCP套接字真正意味着什么?

时间:2016-08-04 19:15:26

标签: sockets ssl tcp

我正在编写一个连接到服务器上的套接字的小应用程序我不知道实现细节。在插座的文档中说它

  

套接字上的所有通信都使用SSL

当我试图弄清楚客户端需要什么才能通过SSL进行通信时,我感到非常困惑,因为SSL需要有关密钥库和证书的详细信息。

我有权访问的是主机地址和套接字端口,根据服务器所有者的说法,这应该是enogh。

我的问题是套接字如何使用SSL,但客户端没有要求提供证书等(SSL标准似乎要求)?

如何知道在客户端上设置连接到SSL套接字需要什么?

我使用的语言是Java / Scala,我需要提供SSLContext 这将用于创建SSLEngine

这是我试过的天真的方式。

val sslContext = SSLContext.getDefault()

如何查看配置SSLContext并为我正在查看的用例生成SSLEngine的最小示例?

1 个答案:

答案 0 :(得分:1)

  

套接字上的所有通信都使用SSL

如果这是关于服务器的全部知识,那么可能使用来自发布到服务器主机名的完善CA的证书。在这种情况下,您将在几种编程语言中找到许多关于如何使用此类服务​​器创建SSL客户端的示例。

如果这个假设不正确并且示例不起作用,您需要有关服务器的更多详细信息,即关于使用的证书,使用的密码,说出的TLS协议等等。然后您可以使您的程序适应这些要求。

在您提供有关所使用的编程语言的详细信息后,要扩展答案:搜索scala ssl client example会为您提供大量有助于您开始使用的信息。