networking - 是否可以通过 telnet 执行 SSL 握手?

标签 networking ssl protocols telnet

我正在阅读 SSL 的工作原理,并尝试与 google pop3 服务器 pop.gmail.com 995 进行握手。我找到了客户端问候消息的示例 there .所以,我连接到 gmail pop 3 服务器

telnet pop.gmail.com 995

没关系。现在我可以向服务器发送消息了。据我了解,我需要做的第一件事就是发送客户端问候消息。所以我输入以下行(为了简化阅读,我将在 \r\n 标记之后换行):

ClientVersion 3,1\r\nClientRandom[32]\r\n
SessionID: None (new session)\r\n
Suggested Cipher Suites:\r\n
  TLS_RSA_WITH_3DES_EDE_CBC_SHA\r\n
  TLS_RSA_WITH_DES_CBC_SHA\r\n
Suggested Compression Algorithm: NONE

回车接收消息

Connection closed by foreign host.

怎么了?我应该收到一条服务器问候消息?我要发送什么来接收它?

最佳答案

不,这是不可能的。您尝试输入的文本是 ClientHello 消息的人类可读表示,而不是真实的文本。真正的 ClientHello 消息是二进制数据,不能通过 Telnet session 输入。

关于networking - 是否可以通过 telnet 执行 SSL 握手?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29314155/

相关文章:

java - 由于服务器一旦接受连接就会阻塞,我应该如何一起测试客户端和服务器?

java - 多播数据包未正确到达 podman 内部。已找到解决方法,但不清楚是防火墙问题还是 podman 问题?

php - 如何在不下载证书的情况下修复 Curl 错误 60

java - 提供的证书和 key 作为 SSL 握手的一部分

c# - 截取的屏幕截图仅包含黑色像素

c - lwIP 是否支持 Zeroconf?

ios - 是否可以在 iOS 中使用安全框架生成证书签名请求 (.csr)?

swift - 在 Swift 中,当协议(protocol)被限制为从类继承时会发生什么?

c - 一个套接字多个线程

iphone - 如何遵守自制协议(protocol)?