<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[观夏Note]]></title> 
<link>//gm.angeldm.com/index.php</link> 
<description><![CDATA[新技术番]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[观夏Note]]></copyright>
<item>
<link>//gm.angeldm.com/post//</link>
<title><![CDATA[使用OpenSSL实现证书的管理]]></title> 
<author>果面 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[网络应用]]></category>
<pubDate>Mon, 04 Aug 2008 12:47:56 +0000</pubDate> 
<guid>//gm.angeldm.com/post//</guid> 
<description>
<![CDATA[ 
	1、OpenSSL概述<br/>&nbsp;&nbsp;目前比较流行的认证服务器之一是OpenSSL认证服务器。OpenSSL项目在Eric Young开发的SSLeay包的基础上，开发一个健壮的、商业等级的、开放源码的工具包用强大的加密算法来实现安全的socket层和传输层安全性，这个项目由全世界的志源者管理和开发OpenSSL工具包和相关的文档[6]。它提供了众多而且复杂的API函数，可惜的是，目前它的文档不全，只能够程序员自已多做工作。它的网址是：http://www.openssl.org。<br/><br/>2、为CA创建一个RSA私钥<br/>&nbsp;&nbsp;＃openssl genrsa –des3 –out –ca.key 1024<br/>&nbsp;&nbsp;系统提示输入PEM pass pharse,也就是密码。生成ca.key文件，可以将文件的属性改为400，并放在安全的地方。<br/><br/>3、利用CA的RSA私钥创建一个自签名的CA证书<br/>&nbsp;&nbsp;创建一个自签名的证书（Selfsigned certificate）运行req命令，该命令生成一个ca.crt。<br/>&nbsp;&nbsp;＃openssl req –new –x509 –days 3650 –key ca.key –out ca.crt<br/>&nbsp;&nbsp;然后系统提示输入国家代号、省份名称、城市名称、公司名称、部门名称、你的姓名及Email地址，这样一张自签名的CA证书就制作完成。<br/><br/>4、为客户颁发证书<br/>&nbsp;&nbsp;为客户创建证书，先用genrsa命令生成的私钥，用req命令生成证书签署请求CSR。<br/>&nbsp;&nbsp;＃openssl genrsa –des3 –out client.key 1024<br/>&nbsp;&nbsp;＃openssl req –new –key client.key –out client.csr这里也要输入个人的信息。<br/>&nbsp;&nbsp;然后用sign.sh签署证书。<br/>&nbsp;&nbsp;＃./sigh.sh client.crt<br/>&nbsp;&nbsp;这样由CA签发的证书就制作完成。<br/><br/>5、撤消证书<br/>&nbsp;&nbsp;要吊消证书可以使用openssl的ca命令，它可以对证书进行吊消、加进CRL及CRL有关的其它一些处理。<br/>&nbsp;&nbsp;要吊消证书可以简单地使用以下命令：<br/>&nbsp;&nbsp;＃openssl ca –revoke 证书文件名<br/>&nbsp;&nbsp;这时数据库被更新证书被标记上吊消的标志，需要生成新的证书吊消列表：<br/>&nbsp;&nbsp;#openssl ca -gencrl -config /etc/openssl.cnf -out crl/sopac-ca.crl<br/>&nbsp;&nbsp;证书吊消列表文件要在WEB站点上可以使用，必须将crldays或crlhours和crlexts加到证书中：<br/>&nbsp;&nbsp;openssl ca -gencrl -config /etc/openssl.cnf -crldays 7 -crlexts crl_ext -out crl/sopac-ca.crl<br/><br/>6、证书的更新<br/>&nbsp;&nbsp;当用户发送他旧的证书证书或要在原有私钥的基础上建新的证书，所以必须吊消旧的证书然后再签发新的证书。要找到证书，可以用户的DN（区别名）在 index.txt文件中查到序列号xx,用cert/.pem做为证书吊消的依据。你必须手动签发证书，因为开始时间和结束时间以便确定新证书的有效性。<br/>&nbsp;&nbsp;＃openssl ca -config /etc/openssl.cnf -policy policy_anything -out newcert.pem -infiles newreq.pem -startdate [now]&nbsp;&nbsp;-enddate [previous enddate+365days]<br/>&nbsp;&nbsp;用正确的时间替换 [now]和[previous enddate+365days]。<br/><br/>7、查看证书<br/>&nbsp;&nbsp;＃openssl x509 -in cert.pem -noout –text<br/><br/>8、结束语<br/>&nbsp;&nbsp;数字证书相当于电子身份证，X.509证书是由CCITT X.509国际标准所规定，目前在电子商务飞速发展的今天应用相当的广泛，交易支付过程中，参与各方必须利用认证中心签发的数码证书来证明各自的身份，数字证书可以进行数字签名，支持不可否认性。电子交易中，无论数字时间戳还是数字证书的发放，都不是靠交易的双方自己来完成，而需要设立一个可靠的第三方机构，进行有效、快速、规范化的认证服务。CA(Certfication Authofity)就是这样一个机构，用openssl论证服务器进行证书发放，证书更新，证书撤销，建立自己的CA论证中心，开发费用低，代码健壮，用强大的加密算法来保证信息传输的安全，它将有力地促进我国电子商务的发展。
]]>
</description>
</item><item>
<link>//gm.angeldm.com/read.php?&amp;guid=0#topreply</link>
<title><![CDATA[[评论] 使用OpenSSL实现证书的管理]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>//gm.angeldm.com/read.php?&amp;guid=0#topreply</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>