使用openssl进行ssl/tls加密传输会话测试
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-05-18
【小蜗牛嘻哈之作】
我们看看下面一段“对话”: [root@pps ~]# openssl s_client -connect localhost:110 -starttls pop3 ... 【这里是一大段有关证书、SSL/TLS会话等内容】 ... --- OK Dovecot ready. user snail OK pass snail''password OK Logged in. list OK 6 messages: 1 1731 2 43178 3 1727 4 43183 5 43217 6 43171 . quit OK Logging out. closed [root@pps ~]# 这样的会话情况,是和"telnet localhost 110"进行POP3会话情况是一样的,而这里和telnet不一样的是,整个会话过程所传输的信息都是加密的.如上示例,我的机器上(localhost)需要开启POP3服务,并且POP3服务支持SSL/TLS加密传输.(我用的是Dovecot做的POP3/IMAP服务器) 参数说明: s_client 用作一个普通的SSL/TLS会话的客户端 -starttls prot 在开始TLS传输之前使用STARTTLS命令来相关协议(prot)支持它. 我使用的openssl(0.9.8b)版本只支持smtp和pop3协议. 更新的版本应该支持imap协议. 如果没有指定"--starttls pop3",则出现POP3不支持SSL/TLS会话的现象: [root@pps ~]# openssl s_client -connect localhost:110 CONNECTED(00000003) 2730:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:567: 如果某个服务器某端口“一开始”就支持SSL/TLS会话了,那就没有必要"--starttls"了.如果POP3S服务在默认的993端口监听着的话,就不必那么费劲使用"--starttls"了:
... --- * OK Dovecot ready. ... 下面我再举个简单的例子.我使用两个终端,在一个终端运行以下命令: [root@pps ~]# openssl s_server -accept 2009 -key server.pem -cert server.pem Using default temp DH parameters ACCEPT 参数解释: s_server 用作一个普通的SSL/TLS会话的服务器端 -accept port 监听的端口 -cert arg 使用的证书(默认是server.pem) -key arg 使用的密钥(默认是server.pem) 我这里使用的server.pem是随便生成的,证书和密钥都同在server.pem文件里. 然后我在另外一个终端运行命令如下: [root@pps ~]# openssl s_client -connect localhost:2009 ... 【这里是一大段有关证书、SSL/TLS会话等内容】 ... --- 这个时候,在服务器端(s_server)也会出现SSL-Session相关信息. 好,我在客户端(s_client)这边输入"Hello, I''m a client.",回车,我们可以看到在服务器端可以立刻显示出来我输入的内容,在服务器端输入"Hello, I''m the server.",也可以立刻在客户端看到服务器输入的内容,我在服务端输入"quit"结束会话.而整个会话传输过程,都是加密的,只有在两端才是解密的明文内容. 【注意】如果双方在会话过程中,第三方客户端连接将被阻塞.
|
|||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 学习linux的方法下一篇: Linux发行版争相发布 开源世界好不热闹
关于使用openssl进行ssl/tls加密传输会话测试的所有评论