社区
网络编程
帖子详情
SSL_do_handshake和SSL_accept在服务端有什么区别?
jason176374
2007-09-20 03:09:06
我看了一个例子用的是
SSL_do_handshake。
但是看了好多文章, 觉得应该是SSL_accept才应该和客户端的SSL_connect对应。
他们之间是什么区别?
...全文
1116
5
打赏
收藏
SSL_do_handshake和SSL_accept在服务端有什么区别?
我看了一个例子用的是 SSL_do_handshake。 但是看了好多文章, 觉得应该是SSL_accept才应该和客户端的SSL_connect对应。 他们之间是什么区别?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
心中那自由的世界
2007-09-24
打赏
举报
回复
1
因为dohandshake可以做 SSL Renegotiation ,这个我不知道怎么翻译,意思就是在已经建的链接上再进行一次握手,这个是sslconnect做不到的。
如果只是握手建立连接,有很多种方法,BIO,SSL_connect/accept, SSL_write/read, 这些都可以进行握手建连接的。所以用SSL_do_handshake,应该是来自习惯和扩展性的考虑。
jason176374
2007-09-24
打赏
举报
回复
那既然这样, 为什么还要使用SSL_do_handshake?
心中那自由的世界
2007-09-21
打赏
举报
回复
是的,SSL_Connect和SSL_Accept 都做握手操作, 而且这个握手所花的时间非常可观。
jason176374
2007-09-21
打赏
举报
回复
我看的例子是服务端的。
也就是说SSL_do_handshake用在服务端和客户端都可以?
SSL_Connect和SSL_Accept这一对操作本身也做握手的吧?
心中那自由的世界
2007-09-20
打赏
举报
回复
有区别的
SSL_do_handshake 可以用在客户端和服务端,但SSL_accept只能用在服务端.前者做握手操作,后者等待客户端过来握手.
Open
SSL
之
ssl
库
ssl
Open
SSL
的
SSL
/TLS库,实现了
SSL
(Secur)/TLS(Transport Layer Security)/DTLS(Datagram Transport Layer Security)协议的多个版本。
SSL
_CTX对象包含证书、算法等信息,用于建立TLS/
SSL
连接。 网络连接建立后可以赋值给
SSL
对象,然后可以使用
SSL
对象完成握手操作(
SSL
_
accept
或
SSL
_connect或
SSL
_do_
handshake
),握手完成后就可以读写了。关闭网络连接前先调用
SSL
_shutd
OPEN
SSL
BIO服务器端伪代码
最近在做服务器端的
SSL
支持,服务器端用的网络IO库是libuv,由于libuv官方是不会支持
ssl
的,因此得自己实现。 原理应该是将libuv获取到的数据喂给OPEN
SSL
的BIO,然后判断是否握手完毕。注意:
SSL
的客户端发送给服务器端的数据首先是
SSL
握手数据,然后再是http等头数据。 本文仅仅是记录了在服务器端初始化的流程,便于以后参考。 在用OPEN
SSL
做服务器端时 ,服务器端需要首先配置证书与私钥文件,然后用
SSL
_set_
accept
_state() 来设置为服务器端,这个函数...
Open
SSL
证书认证过程
Open
SSL
证书认证过程 游戏
服务端
这块,之前是很少用
SSL
的,毕竟游戏里的数据没有什么保密的必要,登录、充值也是传输签名,不涉及密码什么的。不过这几年,HTTPS普及得比较快,H5游戏发展迅速。H5游戏是基于web的,和后端通信一般走websocket,加不加
SSL
其实对于游戏影响不大。但是不少平台都要求加
SSL
的,一是用户通过浏览器玩游戏时,地址栏里有个锁头体验还是好点,二是丧心病狂的黑产会劫持链接加上广告,想象一下在玩游戏时,右下角弹个广告是啥体验。 虽说用上
SSL
,不过并不一定就要自己实现
SSL
,
Open
SSL
API入门和踩坑大全
SSL
学习笔记 Open
SSL
库基础 根据 官方的例子,Open
SSL
常用的结构体和函数如下: 初始化Open
SSL
库
SSL
_library_init():初始化
SSL
算法库函数
SSL
_load_error_strings():载入所有
SSL
错误消息 Open
SSL
_add_all_algorithms(): 载入所有
SSL
算法 加载和验证证书 通过
SSL
_CTX_new(
SSL
_METHOD *method)创建一个
SSL
_CTX *实例,用来保存证书的私钥。其中method通过TLS_
一段破代码,对
SSL
异步编程感兴趣的同学有福了, 欢迎高手指正使用错误
SSL
技术是很常用的, 无处不在, 在你SSH的时候, 在你HTTPS的时候, 在任何一款想兼具身份认证与加密通信的应用中, 你可以随处看到它的身影. 本人之前只是用用脚本,
SSL
接口都被透明化了, 而且还是阻塞接口, 或者会使用Libevent支持的
SSL
体验一番异步的感觉, 也曾经读过Https的源码, 当时并没有在
SSL
方面引起重视, 直到我希望把Https引入到我的开源
网络编程
18,356
社区成员
64,214
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章