https实现的几个问题
2015-08-22 20:15
531 查看
官方推荐是TLS_server_method,我当前的系统ubuntu14.04,最新的只有SSLv23,但是抓包发现是TLSv1.2,文档只说了TLSv1,难道被ubuntu私下改了,只是头文件和文档没有更新?
有人说accept之后,要在set non block之前调SSL_accept,否则会影响握手消息收发?
任何一个SSL网络操作不管读写都可能产生 SSL_ERROR_WANT_READ/WRITE
比如SSL_accept后,但是这种情况可能是恶意的renegotiation[1]。 为了不影响原先的send/recv逻辑,简单粗暴处理为:
出现类似的错误,返回EPERM, 断开网络连接!
SSL_shutdown 需要在close socket之前,发送一个close notify alert,抓包证实了这点,但是非阻塞socket模式下,我并没有调底层send,难道是
SSL_shutdown调的?
安全性
wireshark
edit/preference/protocal/SSL/RSA Key List:
ip = 127.0.0.1
port = 443
protocol = http 或者tcp
key file = xx.pem
这种是不行的,要Master-Secret log file:
export SSLKEYLOGFILE=~/sslkeylog.log
也不行,浏览器打开没有生成这个log文件。
用户名密码无需特别处理[2],直接POST提交,目前看来对付我这样水平的监听足够安全了。
[1]http://www.ietf.org/mail-archive/web/tls/current/msg04000.html
[2]https://matthewarcus.wordpress.com/2014/05/10/srp-in-openssl/
[3]https://github.com/DeYangLiu/ffmpeg-streaming/commit/4eb722c5db3e5137fbed077bb6f78ef08ec13bb5
有人说accept之后,要在set non block之前调SSL_accept,否则会影响握手消息收发?
任何一个SSL网络操作不管读写都可能产生 SSL_ERROR_WANT_READ/WRITE
比如SSL_accept后,但是这种情况可能是恶意的renegotiation[1]。 为了不影响原先的send/recv逻辑,简单粗暴处理为:
出现类似的错误,返回EPERM, 断开网络连接!
SSL_shutdown 需要在close socket之前,发送一个close notify alert,抓包证实了这点,但是非阻塞socket模式下,我并没有调底层send,难道是
SSL_shutdown调的?
安全性
wireshark
edit/preference/protocal/SSL/RSA Key List:
ip = 127.0.0.1
port = 443
protocol = http 或者tcp
key file = xx.pem
这种是不行的,要Master-Secret log file:
export SSLKEYLOGFILE=~/sslkeylog.log
也不行,浏览器打开没有生成这个log文件。
用户名密码无需特别处理[2],直接POST提交,目前看来对付我这样水平的监听足够安全了。
[1]http://www.ietf.org/mail-archive/web/tls/current/msg04000.html
[2]https://matthewarcus.wordpress.com/2014/05/10/srp-in-openssl/
[3]https://github.com/DeYangLiu/ffmpeg-streaming/commit/4eb722c5db3e5137fbed077bb6f78ef08ec13bb5
相关文章推荐
- Python3.X 抓取网络资源
- hdu1532网络流
- virtualBox 上centos的网络配置 桥接方式(bridge)
- 为什么有了可靠地TCP还需要不可靠的UDP
- UNIX域套接字及TCP、UDP示例
- redis网络超时问题分析
- android 使用OkHttp上传多张图片
- socket编程--TCP客户/服务器模型 (c/s)及基本函数
- Util:Http请求的工具类
- HTTP状态详解
- 正则表达式——速查表(挖坑,本文内容来自网络)
- servlet生命周期详解
- 网络的五层协议体系---互联网协议入门
- TCP/IP-UDP
- CentOS网络配置
- R语言13行代码实现神经网络
- TCP UDP简介
- tinyhttpd解析
- 网络a、b、c类ip地址的区别
- Hopfield神经网络+C代码