<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>O!Hacker Blog &#187; ssl</title>
	<atom:link href="http://ohacker.com/tag/ssl/feed/" rel="self" type="application/rss+xml" />
	<link>http://ohacker.com</link>
	<description>anything to hack</description>
	<lastBuildDate>Thu, 12 Aug 2010 05:17:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>URL Rewrite Filter 小例子(http to https)</title>
		<link>http://ohacker.com/2010/02/06/url-rewrite-filter/</link>
		<comments>http://ohacker.com/2010/02/06/url-rewrite-filter/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 03:15:55 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[url rewrite]]></category>

		<guid isPermaLink="false">http://ohacker.com/?p=236</guid>
		<description><![CDATA[URL Rewrite Filter是一个很好用的url重写的小工具，他可以根据你提供的url规则进行url的重写。<a href="http://tuckey.org/urlrewrite/">这里</a>是它的主页。]]></description>
		<wfw:commentRss>http://ohacker.com/2010/02/06/url-rewrite-filter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux apache SSL 安装</title>
		<link>http://ohacker.com/2010/02/01/linux-apache-ssl-install/</link>
		<comments>http://ohacker.com/2010/02/01/linux-apache-ssl-install/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 06:03:40 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://ohacker.com/?p=226</guid>
		<description><![CDATA[Linux apache mod_ssl 安装 安装： 安装apache with mod_ssl 首先必须保证服务器安装的apache支持mod_ssl。 解压缩apache : tar zvxf apache.tar.gz 编译apache: 进入解压缩后的apache目录运行一下命令 ./configure &#8211;prefix=/home/user_name/apache –enable-shared=all 注：首先，–prefix后面指的是你想要安装后apache的根目录，其次这个目录的最后一个字符不可以是”/”,比如/home/mpsp/apache/ 就是错的，正确的写法是/home/mpsp/apache。&#8211;enable-shared=all这个选项是以shared模式开启所有模块，如果希望关闭某些模块只用注释掉{ROOT_APACHE}/conf/httpd.conf中的相应模块即可。 运行 make 运行 make install 安装apache成功之后，进入{ROOT_APACHE}/conf/httpd.conf文件进行配置。针对ssl的配置主要是以下几点 查看SSL是否安装。 如果ssl_module 安装好了，以下这行应该存在，并且没有被注释掉。 LoadModule ssl_module modules/mod_ssl.so #之后再去查看以下这几行是否被注释掉 &#60;IfModule mod_ssl.c&#62; Include conf/ssl.conf &#60;/IfModule&#62; 如果被注释掉了，就打开注释，一定要保证这行。 这几行的意思是加载conf/ssl.conf这个配置文件。下面去修改ssl.conf这个文件。 因为常用的HTTPS的端口是443，所以需要修改ssl.conf中的SSL Virtual Host Context 找到 在这个VirtualHost下找到SSLEngine on这行，确保这行没有被注释掉。 找到SSLSertificateFile这行，这个参数指定了crt文件的位置。例如SSLCertificateFile /home/mpsp/apache_wx/conf/ssl.crt/www.domain.com.crt。 找到SSLSertificateKeyFile这行，这个参数指定了key文件的位置。例如：在开发服务器上这行是 SSLCertificateKeyFile /home/mpsp/apache_wx/conf/ssl.key/www.domain.com.key 另外还要加入SSLCACertificatePath 和SSLCACertificateFile [...]]]></description>
		<wfw:commentRss>http://ohacker.com/2010/02/01/linux-apache-ssl-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSL数字证书原理</title>
		<link>http://ohacker.com/2010/02/01/ssl-ca-https/</link>
		<comments>http://ohacker.com/2010/02/01/ssl-ca-https/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 05:31:43 +0000</pubDate>
		<dc:creator>Tony</dc:creator>
				<category><![CDATA[Other]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://ohacker.com/?p=222</guid>
		<description><![CDATA[如果利用SSL协议来访问网页，其步骤如下： 用户：在浏览器的地址栏里输入https://www.sslserver.com HTTP层：将用户需求翻译成HTTP请求，如 GET/index.htmHTTP/1.1 Hosthttp://www.sslserver.com SSL层：借助下层协议的的信道安全的协商出一份加密密钥，并用此密钥来加密HTTP请求。 TCP层：与webserver的443端口建立连接，传递SSL处理后的数据。 接收端与此过程相反。 SSL在TCP之上建立了一个加密通道，通过这一层的数据经过了加密，因此达到保密的效果。 SSL协议分为两部分：HandshakeProtocol和RecordProtocol,。其中HandshakeProtocol用来协商密钥，协议的大部分内容就是通信双方如何利用它来安全的协商出一份密钥。 Record Protocol则定义了传输的格式。 需要的加密方面的基础知识 了解SSL原理需要一点点加密的概念，这里把需要的概念做一下简单阐述： 加密一般分为三类，对称加密，非对称加密及单向散列函数。 对称加密：又分分组密码和序列密码。 分组密码是将明文按一定的位长分组，明文组经过加密运算得到密文组，密文组经过解密运算（加密运算的逆运算），还原成明文组。 序列密码是指利用少量的密钥（制乱元素）通过某种复杂的运算（密码算法）产生大量的伪随机位流，用于对明文位流的加密。 解密是指用同样的密钥和密码算法及与加密相同的伪随机位流，用以还原明文位流。 CBC(CipherBlockChaining)模式这个词在分组密码中经常会用到，它是指一个明文分组在被加密之前要与前一个的密文分组进行异或运算。当加密算法用于此模式的时候除密钥外，还需协商一个初始化向量（IV），这个IV没有实际意义，只是在第一次计算的时候需要用到而已。采用这种模式的话安全性会有所提高。 分组密码的典型例子为DES、RC5、IDEA。 序列密码的典型例子为RC4。 公钥加密： 简单的说就是加密密钥与解密密钥不同，分私钥和公钥。这种方法大多用于密钥交换，RSA便是一个我们熟知的例子。 还有一个常用的称作DH，它只能用于密钥交换，不能用来加密。 单向散列函数： 由于信道本身的干扰和人为的破坏，接受到的信息可能与原来发出的信息不同，一个通用的办法就是加入校验码。 单向散列函数便可用于此用途，一个典型的例子是我们熟知的MD5,它产生128位的摘要，在现实中用的更多的是安全散列算法（SHA），SHA的早期版本存在问题，目前用的实际是SHA－1，它可以产生160位的摘要，因此比128位散列更能有效抵抗穷举攻击。 由于单向散列的算法都是公开的，所以其它人可以先改动原文，再生成另外一份摘要。解决这个问题的办法可以通过HMAC（RFC2104）,它包含了一个密钥，只有拥有相同密钥的人才能鉴别这个散列。 密钥协商过程 由于对称加密的速度比较慢，所以它一般用于密钥交换，双方通过公钥算法协商出一份密钥，然后通过对称加密来通信，当然，为了保证数据的完整性，在加密前要先经过HMAC的处理。 SSL缺省只进行server端的认证，客户端的认证是可选的。以下是其流程图（摘自TLS协议）。 ClientServer Clienth*llo&#8212;&#8212;&#8211;> Serverh*llo Certificate* ServerKeyExchange* CertificateRequest* [ChangeCipherSpec]]]></description>
		<wfw:commentRss>http://ohacker.com/2010/02/01/ssl-ca-https/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
