使用 Twisted 框架进行网络编程,第 4 部分
2008-11-13 13:13:47 来源:WEB开发网在第1、2和3部分中,服务器与客户机具有的共同之处在于它们的操作完全是在一个经过编码的明文会话中进行的。不过在有些时候,您还会希望您的连接能够避开窥视者的眼睛(或者免遭窜改与欺骗)。
用于决定是否允许访问服务器资源的协议是很有意思的,但是在这一部分中,我还是想考虑一下与真正的连接级加密有关的协议。不过在一般的应用背景中,您也许可以研究一下面向Web的机制,例如 RFC-2617 中描述的 Basic Authentication,它在 Apache 和其他的 Web 服务器中都实现了。Twisted 包 twisted.cred 是一种通用且复杂的框架,它在用于一般目的的 Twisted 服务器中提供认证服务器,而并不局限于 Web 服务器。
在 Internet 上进行连接级的加密,有两种广泛应用的 API:SSL 和 SSH。前面一种,SSL(Secure Sockets Layer,安全套接字层),在 Web 浏览器和 Web 服务器中广泛实现;不过从原理上说,SSL并没有理由非得结合到 HTTP 协议上不可。SSL 结合了一种公钥基础设施,连同一个基于 Certificate Authorities 的“可信 Web”(“web-of-trust”)。SSL 会创建一个会话密钥,在某个特定连接的整个生命期中,SSL 都用这个密钥对其进行标准的对称加密。
Twisted 中的确包括了 SSL 框架;不过就和 Twisted 中的大多数东西一样,没有详细的文档来说明 SSL 是如何工作的。我试着下载了两个可能支持的包,尝试让 Twisted v.1.0.6 的脚本 test_ssl.py 运行起来(请看 参考资料),不过在撰写本文的时候还没有成功。
另一个广泛应用于连接级加密的 API 是 SSH(Secure Shell,安全Shell),它因与其同名的那个工具(小写的 ssh )而出名。SSL 与 SSH 共享了很多底层加密算法,不过 SSH 着重于建立加密的 shell 连接(用以取代那些容易受到窥探的程序/协议,比如 telnet 和 rsh)。Twisted 使您能够编写定制的 SSH 客户机和服务器,这可是件非常好的事情。您不仅可以编写一个基本的交互式远程 shell,就好像 ssh 和 sshd 提供的客户机与服务器一样,而且您还可以创建专用性更强的工具,让更高层的应用能够利用这些安全连接。
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
赞助商链接