连接到外部SSL TCP套接字的真正含义是什么



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

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

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

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

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

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

我使用的语言是Java/Scala,并且我需要提供SSLContext其将用于创建CCD_ 2。

这是我尝试过的一种天真的方式,但并不奏效。

val sslContext = SSLContext.getDefault()

配置SSLContext并为我正在查看的用例生成SSLEngine的最小示例会是什么样子?

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

如果这是关于服务器的所有已知信息,那么它可能会使用一个由一个建立良好的CA颁发给服务器主机名的证书。在这种情况下,您将在几种编程语言中找到许多关于如何使用这样的服务器创建SSL客户端的示例。

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

在您提供了有关正在使用的编程语言的详细信息后,要扩展答案:搜索scala-ssl客户端示例会为您提供很多信息,帮助您开始。

最新更新