小编Gar*_*eth的帖子

通过套接字与ESMTP协商TLS

我有一个简单的SMTP客户端,我试图添加TLS支持.我不确定客户端发出'STARTTLS'命令后会发生什么.大多数来源(包括RFC本身)将其描述为TLS会话的协商,但这并不是特别清楚.

怎么去做这个?我的客户端是用Objective C编写的,并使用Cocoa的流对象(套接字的包装器).Cocoa流能够将TLS指定为具有NSStream的setProperty函数的套接字安全级别系统.

但是,似乎必须在打开连接之前完成此操作.如果是这种情况,那么客户端是否应该在从服务器接收代码220(响应STARTTLS)后断开连接,然后在指定TLS时重新连接?

或者说,这只是NSStream的限制吗?普通套接字是否在不关闭的情况下重新协商TLS或SSL?

此外,一旦STARTTLS发布并且随后的协商完成,客户端是否还有其他编码/解码?

如果这些是简单的问题,请道歉.我很难找到合适的例子.

干杯!

sockets ssl cocoa smtp objective-c

4
推荐指数
1
解决办法
3043
查看次数

标签 统计

cocoa ×1

objective-c ×1

smtp ×1

sockets ×1

ssl ×1