﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-捕风之巢-文章分类-java安全</title><link>http://www.blogjava.net/zhhp1314520/category/16188.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 07:43:31 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 07:43:31 GMT</pubDate><ttl>60</ttl><item><title>配置Tomcat 4使用SSL</title><link>http://www.blogjava.net/zhhp1314520/articles/tomcat_ssl.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Thu, 19 Oct 2006 09:31:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/tomcat_ssl.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/76227.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/tomcat_ssl.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/76227.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/76227.html</trackback:ping><description><![CDATA[
		<p>
				<a name="1">
						<span class="atitle2">Tomcat简介</span>
				</a>
				<br />Tomcat是 Apache Jakarta的子项目之一，作为一个优秀的开源web应用服务器，全面支持jsp1.2以及servlet2.3规范。因其技术先进、性能稳定，而且免费，因而深受Java爱好者的喜爱并得到了部分软件开发商的认可，成为目前比较流行的web应用服务器。</p>
		<p>
				<a name="2">
						<span class="atitle2">SSL(Server Socket Layer)简介</span>
				</a>
				<br />在网络上信息在源-宿的传递过程中会经过其它的计算机。一般情况下，中间的计算机不会监听路过的信息。但在使用网上银行或者进行信用卡交易的时候有可能被监视，从而导致个人隐私的泄露。由于Internet和Intranet体系结构的原因，总有某些人能够读取并替换用户发出的信息。随着网上支付的不断发展，人们对信息安全的要求越来越高。因此Netscape公司提出了SSL协议，旨在达到在开放网络(Internet)上安全保密地传输信息的目的，这种协议在WEB上获得了广泛的应用。之后IETF(www.ietf.org)对SSL作了标准化，即RFC2246，并将其称为TLS（Transport Layer Security），从技术上讲，TLS1.0与SSL3.0的差别非常微小。</p>
		<p>
				<a name="3">
						<span class="atitle2">SSL工作原理</span>
				</a>
				<br />SSL协议使用不对称加密技术实现会话双方之间信息的安全传递。可以实现信息传递的保密性、完整性，并且会话双方能鉴别对方身份。不同于常用的http协议，我们在与网站建立SSL安全连接时使用https协议，即采用https://ip:port/的方式来访问。</p>
		<p>当我们与一个网站建立https连接时，我们的浏览器与Web Server之间要经过一个握手的过程来完成身份鉴定与密钥交换，从而建立安全连接。具体过程如下：</p>
		<ol xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
				<li>用户浏览器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送到服务器。 </li>
				<li>服务器将其SSL版本号、加密设置参数、与session有关的数据以及其它一些必要信息发送给浏览器，同时发给浏览器的还有服务器的证书。如果配置服务器的SSL需要验证用户身份，还要发出请求要求浏览器提供用户证书。 </li>
				<li>客户端检查服务器证书，如果检查失败，提示不能建立SSL连接。如果成功，那么继续。 </li>
				<li>客户端浏览器为本次会话生成pre-master secret，并将其用服务器公钥加密后发送给服务器。 </li>
				<li>如果服务器要求鉴别客户身份，客户端还要再对另外一些数据签名后并将其与客户端证书一起发送给服务器。 </li>
				<li>如果服务器要求鉴别客户身份，则检查签署客户证书的CA是否可信。如果不在信任列表中，结束本次会话。如果检查通过，服务器用自己的私钥解密收到的pre-master secret，并用它通过某些算法生成本次会话的master secret。 </li>
				<li>客户端与服务器均使用此master secret生成本次会话的会话密钥(对称密钥)。在双方SSL握手结束后传递任何消息均使用此会话密钥。这样做的主要原因是对称加密比非对称加密的运算量低一个数量级以上，能够显著提高双方会话时的运算速度。 </li>
				<li>客户端通知服务器此后发送的消息都使用这个会话密钥进行加密。并通知服务器客户端已经完成本次SSL握手。 </li>
				<li>服务器通知客户端此后发送的消息都使用这个会话密钥进行加密。并通知客户端服务器已经完成本次SSL握手。 </li>
				<li>本次握手过程结束，会话已经建立。双方使用同一个会话密钥分别对发送以及接受的信息进行加、解密。 </li>
		</ol>
		<p>
				<a name="4">
						<span class="atitle2">配置Tomcat 4.x 使用SSL</span>
				</a>
				<br />
		</p>
		<p>
				<a name="N1007F">
						<span class="atitle3">4.1 用到的软件包</span>
				</a>
				<br />
		</p>
		<ul xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
				<li>Tomcat 4.0.2 
<p>用途：Web Server。 <br />下载： <a href="http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/">http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/v4.0.3/bin/</a></p></li>
				<li>JSSE 1.0,2 
<p>用途：用来产生Tocmcat使用的秘钥对(keystore)。 <br />下载： <a href="http://java.sun.com/products/jsse/">http://java.sun.com/products/jsse/</a></p></li>
				<li>Openssl 0.9.9.6 
<p>用途：用来产生CA证书、签名并生成IE可导入的PKCS#12格式私钥。 <br />下载： <a href="http://www.openssl.org/">http://www.openssl.org/</a></p></li>
		</ul>
		<p>以上工具的安装过程可以参考自带的帮助，本文就不再详细描述了。</p>
		<p>
				<a name="N100B1">
						<span class="atitle3">4.2 建立自己的CA</span>
				</a>
				<br />
		</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.2.1 建立工作目录</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<code>
						<font face="新宋体">mkdir ca</font>
				</code>
		</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.2.2 生成CA私钥以及自签名根证书</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.2.2.1 生成CA私钥</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<code>
						<font face="新宋体">openssl genrsa -out ca\ca-key.pem 1024</font>
				</code>
		</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.2.2.2 生成待签名证书</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<code>
						<font face="新宋体">openssl req -new -out ca\ca-req.csr -key ca\ca-key.pem</font>
				</code>
		</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.2.2.3 用CA私钥进行自签名</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<code>
						<font face="新宋体">openssl x509 -req -in ca\ca-req.csr -out ca\ca-cert.pem -signkey ca\ca-key.pem -days 365</font>
				</code>
		</p>
		<p>
				<a name="N100EE">
						<span class="atitle3">4.3 设置Tomcat 4.x</span>
				</a>
				<br />
		</p>
		<p>在本文中用符号"%JDK_HOME%"来表示JDK的安装位置，用符号"%TCAT_HOME%" 表示Tomcat的安装位置。</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.3.1建立工作目录</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />
				<code>
						<font face="新宋体">mkdir server</font>
				</code>
		</p>
		<p>
				<b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.3.2 生成server端证书</b>
				<br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />4.3.2.1 生成KeyPair <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">%JDK_HOME%\bin\keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 1024 -keypass changeit -storepass changeit -dname "cn=localhost, ou=department, o=company, l=Beijing, st=Beijing, c=CN" -keystore server\server_keystore</font></code></p>
		<p>4.3.2.2 生成待签名证书 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">%JDK_HOME%\bin\keytool -certreq -alias tomcat_server -sigalg MD5withRSA -file server\server.csr -keypass changeit -keystore server\server_keystore -storepass changeit</font></code></p>
		<p>4.3.2.3 用CA私钥进行签名 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">openssl x509 -req -in server\server.csr -out server\server-cert.pem -CA ca\ca-cert.pem -CAkey ca\ca-key.pem -days 365</font></code></p>
		<p>4.3.2.4 导入信任的CA根证书到JSSE的默认位置(%JDK_ROOT %/jre/security/cacerts) <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">%JDK_HOME%\bin\keytool -import -v -trustcacerts -storepass changeit -alias my_ca_root -file ca\ca-cert.pem -keystore %JDK_HOME%\jre\lib\security\cacerts</font></code></p>
		<p>4.3.2.5 把CA签名后的server端证书导入keystore <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">%JDK_HOME%\bin\keytool -import -v -trustcacerts -storepass changeit -alias tomcat_server -file server\server-cert.pem -keystore server\server_keystore</font></code></p>
		<p>4.3.2.6 查看server端证书 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">keytool -list -keystore %JDK_HOME%\jre\lib\security\cacerts keytool -list -keystore server\server_keystore</font></code></p>
		<p>4.3.3 修改server.xml使Tomcat支持SSL <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />首先找到以下内容，去掉对其的注释。然后参照红色部分修改。如果配置Tomcat不验证客户身份，可以设置clientAuth="false"。 </p>
		<p>
		</p>
		<table cellspacing="0" cellpadding="5" width="100%" bgcolor="#cccccc" border="1">
				<tbody>
						<tr>
								<td>
										<pre>
												<code>&lt;Connector className="org.apache.catalina.connector.http.HttpConnector"
           port="8443" minProcessors="5" maxProcessors="75"
           enableLookups="true"
           acceptCount="10" debug="0" scheme="https" secure="true"&gt;
&lt;Factory className="org.apache.catalina.net.SSLServerSocketFactory"
           clientAuth="true" protocol="TLS"
keystoreFile="%TCAT_HOME%/conf/server_keystore" keystorePass="changeit"
           /&gt;
</code>
										</pre>
								</td>
						</tr>
				</tbody>
		</table>然后把文件server\server_keystore复制到目录%TCAT_HOME%\conf\下。 <p><a name="N1014C"><span class="atitle3">4.4 在IE中安装个人证书</span></a><br /><b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.4.1 建立工作目录</b><br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">mkdir client</font></code></p><p><b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.4.2 生成client私钥并用CA私钥签名</b></p><p>4.4.2.1 生成client私钥 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">openssl genrsa -out client\client-key.pem 1024</font></code></p><p>4.4.2.2 生成待签名证书 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">openssl req -new -out client\client-req.csr -key client\client-key.pem</font></code></p><p>4.4.2.3 用CA私钥进行签名 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">openssl x509 -req -in client\client-req.csr -out client\client.crt -signkey client\client-key.pem -CA ca\ca-cert.pem -CAkey ca\ca-key.pem -CAcreateserial -days 365</font></code></p><p>4.4.2.4 生成client端的个人证书 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />因为JSSE1.0.2没有完全实现了对PKCS#12格式文件的操作(只能读取，不能输出)，所以在这里需要用openssl制作client端的个人证书(包含私钥)。 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" /><code><font face="新宋体">openssl pkcs12 -export -clcerts -in client\client.crt -inkey client\client-key.pem -out client\client.p12</font></code></p><p>4.4.2.5 安装信任的根证书 <br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />把ca\ca-key.pem改名为ca\ca-key.cer，在client端的IE中使用"工具 ' Internet选项 ' 内容 ' 证书 ' 导入"把我们生成的CA根证书导入，使其成为用户信任的CA。 </p><p><b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.4.3 安装个人证书</b><br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />把client.p12导入到client端的IE中作为个人证书，导入过程同4.4.2.5。 </p><p><a name="N10197"><span class="atitle3">4.5 用IE浏览器使用SSL协议访问Tomcat</span></a><br /></p><p><b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.5.1 启动Tomcat 4.x</b><br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />执行%TCAT_HOME%\bin\startup.bat启动Tomcat 4.x </p><p><b xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">4.5.2 用IE访问Tomcat 4.x</b><br xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" />在IE浏览器的地址栏中输入https://localhost:8443，如果前面的操作都正确的话，应该可以看到Tomcat的欢迎页面。同时状态栏上的小锁处于闭合状态，表示您已经成功地与服务器建立了要求客户端验证的SSL安全连接。 </p><p><a name="5"><span class="atitle2">结论</span></a><br />以上我们实现了为Tomcat 4.x配置要求客户端验证的SSL的全过程。对于其它类型的服务器，例如Apache，Netscape Enterprise Server, Websphere，Weblogic等，一般只是在服务器端保存证书的方式略有不同，但它们的原理都是类似的，配置时可以在本文中办法的基础上做出相应的调整。</p><p><a name="resources"><span class="atitle2">参考资料 </span></a></p><ul><li><a href="http://jakarta.apache.org/tomcat/tomcat-4.0-doc/ssl-howto.html" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Tomcat SSL Configuration HOW-TO</a><br /><br /></li><li><a href="http://www.netscape.com/eng/ssl3/" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">SSL3.0规范</a><br /><br /></li><li><a href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;q257591" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Description of the Secure Sockets Layer (SSL) Handshake (Q257591)</a><br /><br /></li><li><a href="http://java.sun.com/products/jdk/1.2/docs/tooldocs/solaris/keytool.html" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">keytool - Key and Certificate Management Tool</a><br /><br /></li><li><a href="http://www.openssl.org/docs/apps/openssl.html" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">Openssl使用手册</a><br /></li></ul><p></p><table cellspacing="0" cellpadding="0" width="100%" border="0"><tbody><tr><td><a name="author1"></a><span class="atitle2">关于作者</span><br />赵梁，1995年毕业于北京航空航天大学。对J2EE, J2ME以及CORBA, Web Service等技术比较感兴趣。目前的主要工作是采用J2EE技术开发供分销企业使用的供应链/销售链ERP。可以通过电子邮件 <a href="mailto:b-i-d@163.com" xmlns:dw="http://www.ibm.com/developerworks/" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">b-i-d@163.com</a>与作者联系。</td></tr></tbody></table><img src ="http://www.blogjava.net/zhhp1314520/aggbug/76227.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-19 17:31 <a href="http://www.blogjava.net/zhhp1314520/articles/tomcat_ssl.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十五）－－指令x509</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_25.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:51:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_25.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75665.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_25.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75665.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75665.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 二十五.     														指令														x509																																用法：										        openssl x509 [-inform DER|PEM|NET] [-outform DER|PEM|NET]          [-key...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhhp1314520/articles/openssl_25.html'>阅读全文</a><img src ="http://www.blogjava.net/zhhp1314520/aggbug/75665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:51 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_25.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十四）－－指令speed和指令version</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_24.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:50:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_24.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75661.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_24.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75661.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75661.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">二十四.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">speed</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl speed [-elapsed] [md2] [mdc2] [md5] [hmac] [sha1] [rmd160] <br />    <br />     [idea-cbc] [rc2-cbc] [rc5-cbc] [bf-cbc] [des-cbc] [des-ede3] <br />    <br />     [rc4] [rsa512] [rsa1024] [rsa2048] [rsa4096] [dsa512] <br />    <br />     [dsa1024] [dsa2048] [idea] [rc2] [des] [rsa] [blowfish] <br />    <br />     </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法在你的机器上的测试工具。</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -elapsed <br />    set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将使测试结果是我们比较容易懂的时间格式，否则将是和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">time</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令那样子显示的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cpu</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">时间。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其他的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是算法了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">二十五.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">version</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl version [-a] [-v] [-b] [-o] [-f] [-p] <br />    <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用来打印版本信息的。最没用的指令和最简单的指令。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -a <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印所有信息，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">相当于把其他</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">全</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">起来。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当你向</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">官方站点报</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bug</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要把这个指令列出来的东西也告诉他们</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -v <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印当前</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的版本信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -b <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印当前版本的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是什么时候弄出来的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -o <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立库的时候的各种于加密算法和机器字节有关的信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -c <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编译时候的编译其的参数</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -p <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">平台信息</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75661.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:50 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_24.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十三）－－指令sess_id</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_23.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:48:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_23.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75658.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_23.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75658.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75658.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">sess_id</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<b>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用法：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						<br />    <br />    openssl sess_id [-inform PEM|DER] [-outform PEM|DER] [-in filename] <br />    <br />     [-out filename] [-text] [-noout] [-context ID] <br />    <br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">说明：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">本指令是处理</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">SSL_SESSION</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">结构的，可以打印出其中的细节。这也是一个调试工具。</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				</span>
		</b>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -inform DER|PEM <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指定输入格式是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DER</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">还是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">PEM. <br />    -outform DER|PEM <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指定输出格式是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DER</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">还是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">PEM <br />   -in filename <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指定输入的含有</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">信息的文件名，可以通过标准输入得到。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />   -out filename <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指定输出</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">信息的文件名</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />   -text <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">打印出明文的密钥的各个部件。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />   -cert <br />   set</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">本</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">option</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">将会把</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">中使用的证书打印出来。如果</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">-text</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">也被</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">set, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">那么将会把其用文本格式打印出来。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -noout <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">不打印出</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的编码版本。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -context ID <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">设置</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session id. </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">不常用的一个</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">option. <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">本指令的典型的输出是：</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    SSL-Session: <br />    Protocol : TLSv1 <br />    Cipher : 0016 <br />    Session-ID: 871E<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="62626" unitname="C">62626C</st1:chmetcnv>554CE95488823752CBD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="5" unitname="F">5F</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3673" unitname="a">3673A</st1:chmetcnv>3EF3DCE9 <br />    C67BD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="916" unitname="C">916C</st1:chmetcnv>809914B40ED <br />    Session-ID-ctx: 01000000 <br />    Master-Key: A7CEFC571974BE02CAC305269DC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="59" unitname="F">59F</st1:chmetcnv>76EA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="F">9F</st1:chmetcnv>0B180CB66 <br />    <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="42697" unitname="a">42697A</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="68251" unitname="F">68251F</st1:chmetcnv>2D2BB57E51DBBB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="C">4C</st1:chmetcnv>7885573192AE9AEE220FACD <br />    Key-Arg : None <br />    Start Time: 948459261 <br />   Timeout : 300 (sec) <br />    Verify return code 0 (ok) <br />    Protocol <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">使用的协议版本信息。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    Cipher <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">使用的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">cipher, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">这里是原始的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">SSL/TLS</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">里定义的代码。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    Session-ID <br />    16</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">进制的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session id <br />    Session-ID-ctx <br />    session-id-ctx</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">16</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">进制格式。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    Master-Key <br />    ssl session master key. <br />    Key-Arg <br />    key</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的参数，只用于</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">SSLv2 <br />    Start Time <br />    session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">开始的时间。标准的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">unix</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">格式。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    Timeout <br />    session-timeout</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">时间。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    Verify return code <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">证书验证返回值</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">. <br />    ssl session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">pem</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">标准格式的第一行和最后一行是：</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    ---BEGIN SSL SESSION PARAMETERS----- <br />    -----END SSL SESSION PARAMETERS----- <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">因为</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">ssl session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">输出包含握手的重要信息：</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">master key, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">所以一定要用一定的加密算法把起输出加密。一般是禁止在实际应用中把</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">session</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的信息输出。我没用过这个工具。研究</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">source</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的时候这个可能有点用。</span>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75658.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:48 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_23.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十二）－－指令s_server</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_22.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:47:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_22.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75656.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_22.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75656.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75656.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">二十二.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">s_server</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl s_server [-accept port] [-context id] [-verify depth] <br />    <br />    [-Verify depth] [-cert filename] [-key keyfile] [-dcert filename] <br />    <br />    [-dkey keyfile] [-dhparam filename] [-nbio] [-nbio_test] [-crlf] <br />    <br />    [-debug] [-state] [-CApath directory] [-CAfile filename] [-nocert] <br />    <br />    [-cipher cipherlist] [-quiet] [-no_tmp_rsa] [-ssl2] [-ssl3] [-tls1] <br />    <br />    [-no_ssl2] [-no_ssl3] [-no_tls1] [-no_dhe] [-bugs] [-hack] [-www] <br />    <br />    [-WWW] [-engine id] <br />    <br />    <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">s_client</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是反义词，</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">模拟一个实现了</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">server. </span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    <br />    OPTIONS <br />    -accept port <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">监听的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TCP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">端口。缺省为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">4433. <br />    -context id <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL context</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">id, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以设置为任何值。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL context</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是什么？编程的章节会详细介绍的。你也可以不</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有缺省的给你用的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -cert certname <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的证书文件名。缺省使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> ./server.pem <br />    -key keyfile <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的私有密钥文件。如果没有指定，那么证书文件会被使用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">???? <br />    The private key to use. If not specified then the certificate <br />    file will be used. <br />    -dcert filename, -dkey keyname <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定一个附加的证书文件和私有密钥文件。不同的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要不同的证书和</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">私有密钥文件。这个不同的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主要指</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面的不对称加密算法不同</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">  </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比如基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥文件和证</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">  </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则需要的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥文件和证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以让这样我们的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同时支持俩种算法的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">成为可</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">能。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -nocert <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不想使用任何证书，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目前只有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">anonymous DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法有需要这么做。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -dhparam filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数文件名。如果没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会试图去从证书文件里面获得这些参数。如果证书里面没有这么参数，一些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">hard code</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参数就被调用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -nodhe <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">禁止使用基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">EDH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />    -no_tmp_rsa <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在的出口</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有时会使用临时</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">密钥。那就是说每次对话的时候临时生成密钥对。本</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">optio</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是用来禁止这种情况的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -verify depth, -Verify depth <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">意义和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">s_client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一样，但同时表示必须验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。不记得</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书验证是可以选的吗？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">- verify</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示向</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要求证书，但</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是可以选择不发送证书，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-Verify</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示一定要</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书验证，否则握手告吹。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -CApath directory <br />    -CAfile file <br />    -state <br />    -debug <br />    -nbio_test <br />    -nbio <br />    -crlf <br />    -quiet <br />    -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1 <br />    -bugs <br />    -cipher cipherlist <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">s_client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的同名</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">意义相同。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面俩个指令模拟一个简单的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">http server. <br />    -www <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接上来的时候，发回一个网页，内容就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">握手的一些内容。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -WWW <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用来把具体某个文件当网页发回给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的请求。比如</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">URL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请求是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> https://myhost/page.html ,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就把</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> ./page.html</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发回给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set -www, -WWW</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这俩个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接上来的话它所发过来的任何东西都会显示出来，你在终端输入的任何东西都会发回</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你可以通过在终端输入的行的第一个字母控制一些行为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    q: <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中断当前连接，但不关闭</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server. <br />    Q <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中断当前连接，退出程序。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    r <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">renegotiate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行为。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    R <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">renegotiate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并且要求</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    P <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TCP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">层直接送一些明文。这会使</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">认为我们没有按协议的游戏规则进行通信而断开连接。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    S <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session-cache</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的状态信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session-cache</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在编程章节会详细介绍。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    NOTES <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于调试</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl client. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下一条指令用来模拟一个小的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">http server, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">监听</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">443</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">端口。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl s_server -accept 443 -www <br />    session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参数可以用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sess_id</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令打印。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我对这条指令实在没有兴趣，一般使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是用做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有机会调试</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我甚至没有用过这个指令。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75656.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:47 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_22.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十一）－－指令s_client</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_21.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:46:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_21.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75654.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_21.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75654.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75654.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">二十一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">s_client</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl s_client [-connect host:port&gt;;] [-verify depth] [-cert filename] <br />    <br />    [-key filename] [-CApath directory] [-CAfile filename] [-reconnect] <br />    <br />    [-pause] [-showcerts] [-debug] [-nbio_test] [-state] [-nbio] [-crlf] <br />    <br />    [-ign_eof] [-quiet] [-ssl2] [-ssl3] [-tls1] [-no_ssl2] [-no_ssl3] <br />    <br />    [-no_tls1] [-bugs] [-cipher cipherlist] <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于模拟一个普通的</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">SSL/TLS client, </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对于调试和诊断</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">SSL server</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很有用。</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -connect host:port <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个不用解释了吧，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ip:port. <br />    -cert certname <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的证书文件。如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不要求要证书，这个可以省略。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -key keyfile <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的私有密钥文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -verify depth <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定验证深度。记得</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也是分层次的吧？如果对方的证书的签名</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么你可以再去验证给该</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书签名的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一直到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA. </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目前的验证操作即使这条</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">链上的某一个证书验证有问题也不会影响对更深层的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的身份的验证。所以整个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">链上的问题都可以检查出来。当然</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的验证出</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">问题并不会直接造成连接马上断开，好的应用程序可以让你根据验证结果决定下一步怎么走。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -CApath directory <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个目录。里面全是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的验证资料，该目录必须是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">哈希结构</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">". verify</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令里会详细说明。在建立</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书链的时候也有用到这个指令。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -CAfile file <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">某文件，里面是所有你信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书的内容。当你要建立</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书链的时候也需要用到这个文件。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -reconnect <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用同样的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session-id</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接同一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">五次，用来测试</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缓冲功能是否有问题。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -pause <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">每次读写操作后都挺顿一秒。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -showcerts <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">显示整条</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书链。否则只显示</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -prexit <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当程序退出的时候打印</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信息。即使连接失败，也会打印出调试信息。一般如果连接成功的话，调试信息将只被打出来一次。本</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比较有</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用，因为在一次</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">连接中，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也可能改变，或者连接可能失败。要注意的是：有时候打印出来的东西并不一定准确。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样也行？？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">eric, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">言重了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.) <br />    -state <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的状态，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也是一个协议，当然有状态。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -debug <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印所有的调试信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -nbio_test <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检查非阻塞</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">socket</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">I/O</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">运行情况。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -nbio <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用非阻塞</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">socket <br />    -crlf <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">回把你在终端输入的换行回车转化成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">/r/n</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送出去。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -ign_eof <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当输入文件到达文件尾的时候并不断开连接。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   -quiet <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不打印出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和证书的信息。同时会打开</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-ign_eof</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option. <br />   -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1 <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选择用什么版本的协议。很容易理解，不用多解释了吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意，有些很古老的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是不能处理</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TLS1, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所以这个时候要关掉</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TLS1.n. <br />   -bugs <br />   SSL/TLS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有几处众所周知的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bug, set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使出错的可能性缩小。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   -cipher cipherlist <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由我们自己来决定选用什么</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，尽管是由</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来决定使用什么</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但它一般都会采用我们送过去的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列表里的第一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有哪些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可用？指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对这个解释的更清楚。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一旦和某个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">建立连接之后，所有从</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">得到的数据都会被打印出来，所有你在终端上输入的东西也会被送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server. </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是人机交互式的。这时候不能</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set -quiet</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> -ign_eof</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这俩个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。如果输入的某行开头字母是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">R,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么在这里</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">session</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">renegociate, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果输入的某行开头是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Q, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么连接会被断开。你完成整个输入之后连接也会被断开。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    If a connection is established with an SSL server then any data received from the server is displayed and any key presses will be sent to the server. When used interactively (which means neither -quiet nor -ign_eof have been given), the session will be renegociated if the line begins with an R, and if the line begins with a Q or if end of file is reached, the connection will be closed down. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令主要是来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">debug</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的。如果想连接某个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL HTTP server,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入下一条指令：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   openssl s_client -connect servername:443 <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果连接成功，你可以用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">HTTP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的指令，比如</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"GET /"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">什么的去获得网页了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果握手失败，原因可能有以下几种：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    1. server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要验证你的证书，但你没有证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    2.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果肯定不是原因</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么就慢慢一个一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以下几个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option <br />    -bugs, -ssl2, -ssl3, -tls1, -no_ssl2, -no_ssl3, -no_tls1 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这可能是因为对方的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bug. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有的时候，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会报错：没有证书可以使用，或者供选择的证书列表是空的。这一般是因为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有把给你签名的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的名字列进它自己认为可以</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列表</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你可以用检查一下</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信任</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列表。有的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">http server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给出了一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">URL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之后才验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书，这中情况下要</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set -prexit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并且送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个页面请求。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即使使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-cert</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指明使用的证书，如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不要求验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书，那么该证书也不会被验证。所以不要以为在命令行里加了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-cert </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参数又连接成功就代表你的证书没有问题。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书没有问题，就可以</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set -showcerts</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来看看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">链了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实这个工具并不好用，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自己写一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的会方便很多。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意，中间的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">pop3</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议的指令是我通过终端输入的。其他都是程序输出的对话</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">过程。具体的每行意义不用解释了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />openssl s_client -key server.key -verify 1 -showcerts -prexit -state \ <br />    -crlf -connect 127.0.0.1:5995 <br />    verify depth is 1 <br />    CONNECTED(00000003) <br />    SSL_connect:before/connect initialization <br />    SSL_connect:SSLv2/v3 write client hello A <br />    SSL_connect:SSLv3 read server hello A <br />    depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    verify error:num=20:unable to get local issuer certificate <br />    verify return:1 <br />    depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    verify error:num=27:certificate not trusted <br />    verify return:1 <br />    depth=0 /C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    verify error:num=21:unable to verify the first certificate <br />    verify return:1 <br />    SSL_connect:SSLv3 read server certificate A <br />    SSL_connect:SSLv3 read server done A <br />    SSL_connect:SSLv3 write client key exchange A <br />    SSL_connect:SSLv3 write change cipher spec A <br />    SSL_connect:SSLv3 write finished A <br />    SSL_connect:SSLv3 flush data <br />    SSL_connect:SSLv3 read finished A <br />    Certificate chain <br />    0 s:/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/Email=xxx@xxx.xom <br />    i:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/ <br />    Email=fordeisgn@21cn.com <br />    ----BEGIN CERTIFICATE----- <br />    MIIDdzCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQQFADB8MQswCQYDVQQGEwJBVTET <br />    MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="l">2l</st1:chmetcnv>0cyBQ <br />    dHkgTHRkMRIwEAYDVQQDEwlmb3JkZXNpZ24xITAfBgkqhkiG9w0BCQEWEmZvcmRl <br />    aXNnbkAyMWNuLmNvbTAeFw0wMDExMTIwNjE5MDNaFw0wMTExMTIwNjE5MDNaMH0x <br />    CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMQswCQYDVQQHEwJnejEP <br />    MA0GA1UEChMGYWkgbHRkMQswCQYDVQQLEwJzdzESMBAGA1UEAxMJZm9yZGVzaWdu <br />    MRowGAYJKoZIhvcNAQkBFgt4eHhAeHh4LnhvbTCBnzANBgkqhkiG9w0BAQEFAAOB <br />    jQAwgYkCgYEAuQVRVaCyF+a8/927cA9CjlrSEGOL17+Fk1U6rqZ8fJ6UR+kvhUUk <br />    fgyMmzrw4bhnZlk2NV5afZEhiiNdRri<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="F">9f</st1:chmetcnv>8loklGRXRkDfmhyUWtjiFWUDtzkuQoT <br />    6jhWfoqGNCKh/92cjq2wicJpp40wZGlfwTwSnmjN9/eNVwEoXigSy5ECAwEAAaOC <br />    AQYwggECMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJh <br />    dGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBS+WovE66PrvCAtojYMV5pEUYZtjzCB <br />    pwYDVR0jBIGfMIGcgBRpQYdVvVKZ0PXsEX8KAVNYTgt896GBgKR+MHwxCzAJBgNV <br />    BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX <br />    aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWZvcmRlc2lnbjEhMB8GCSqGSIb3DQEJ <br />    ARYSZm9yZGVpc2duQDIxY24uY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBADDOp/O/ <br />    o3mBZV4vc<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="mm">3mm</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</st1:chmetcnv>6CcnB7rRSYEoGm6T6OZsi8mxyF5w1NOK5oI5fJU8xcf8aYFVoi <br />    0i4LlsiQw+EwpnjUXfUBxp/g4Cazlv57mSS6h1t<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="a">4a</st1:chmetcnv>/BPOIwzcZGpo/R<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="g">3g</st1:chmetcnv>/fOPwsF <br />    F/2RC++81s6k78iezFrTs9vnsm/G4vRjngLI <br />    -----END CERTIFICATE----- <br />    --- <br />    Server certificate <br />    subject=/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    issuer=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/ <br />    Email=fordeisgn@21cn.com <br />    --- <br />    No client certificate CA names sent <br />    --- <br />    SSL handshake has read 1069 bytes and written 342 bytes <br />    --- <br />    New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA <br />    Server public key is 1024 bit <br />    SSL-Session: <br />    Protocol : SSLv3 <br />    Cipher : DES-CBC3-SHA <br />    Session-ID: E1EC3B<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="51" unitname="F">051F</st1:chmetcnv>5DB8E2E3D3CD10E<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="C">4C</st1:chmetcnv>0412501DDD6641ACA932B65 <br />    DC25DCD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="a">0A</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>86E <br />    Session-ID-ctx: <br />    Master-Key: 47DB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>86375DB2E99982AFD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8" unitname="F">8F</st1:chmetcnv>5B382B4316385694B01B74BFC3 <br />    FA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="26" unitname="C">26C</st1:chmetcnv>7DBD489CABE0EE1B20CE8E95E4ABF930099084B0 <br />    Key-Arg : None <br />    Start Time: 974010506 <br />    Timeout : 300 (sec) <br />    Verify return code: 0 (ok) <br />    --- <br />    +OK AIMC POP service (sol7.gzai.com) is ready. <br />    user ssltest0 <br />    +OK Please enter password for user &lt;ssltest0&gt;;. <br />    pass ssltest0 <br />    +OK ssltest0 has 12 message (282948 octets) <br />    list <br />    +OK 12 messages (282948 octets) <br />    1 21230 <br />    2 21230 <br />    3 21230 <br />    4 21230 <br />    5 21229 <br />    6 21230 <br />    7 21230 <br />    8 21230 <br />    9 111511 <br />    10 136 <br />    11 141 <br />    12 1321 <br />     . <br />    quit <br />    +OK Pop server at (sol7.gzai.com) signing off. <br />    read:errno=0 <br />    SSL3 alert write:warning:close notify <br />    --- <br />    Certificate chain <br />    0 s:/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    i:/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/ <br />    Email=fordeisgn@21cn.com <br />    -----BEGIN CERTIFICATE----- <br />    MIIDdzCCAuCgAwIBAgIBATANBgkqhkiG9w0BAQQFADB8MQswCQYDVQQGEwJBVTET <br />    MBEGA1UECBMKU29tZS1TdGF0ZTEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="l">2l</st1:chmetcnv>0cyBQ <br />    dHkgTHRkMRIwEAYDVQQDEwlmb3JkZXNpZ24xITAfBgkqhkiG9w0BCQEWEmZvcmRl <br />    aXNnbkAyMWNuLmNvbTAeFw0wMDExMTIwNjE5MDNaFw0wMTExMTIwNjE5MDNaMH0x <br />    CzAJBgNVBAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMQswCQYDVQQHEwJnejEP <br />    MA0GA1UEChMGYWkgbHRkMQswCQYDVQQLEwJzdzESMBAGA1UEAxMJZm9yZGVzaWdu <br />    MRowGAYJKoZIhvcNAQkBFgt4eHhAeHh4LnhvbTCBnzANBgkqhkiG9w0BAQEFAAOB <br />    jQAwgYkCgYEAuQVRVaCyF+a8/927cA9CjlrSEGOL17+Fk1U6rqZ8fJ6UR+kvhUUk <br />    fgyMmzrw4bhnZlk2NV5afZEhiiNdRri<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="F">9f</st1:chmetcnv>8loklGRXRkDfmhyUWtjiFWUDtzkuQoT <br />    6jhWfoqGNCKh/92cjq2wicJpp40wZGlfwTwSnmjN9/eNVwEoXigSy5ECAwEAAaOC <br />    AQYwggECMAkGA1UdEwQCMAAwLAYJYIZIAYb4QgENBB8WHU9wZW5TU0wgR2VuZXJh <br />    dGVkIENlcnRpZmljYXRlMB0GA1UdDgQWBBS+WovE66PrvCAtojYMV5pEUYZtjzCB <br />    pwYDVR0jBIGfMIGcgBRpQYdVvVKZ0PXsEX8KAVNYTgt896GBgKR+MHwxCzAJBgNV <br />    BAYTAkFVMRMwEQYDVQQIEwpTb21lLVN0YXRlMSEwHwYDVQQKExhJbnRlcm5ldCBX <br />    aWRnaXRzIFB0eSBMdGQxEjAQBgNVBAMTCWZvcmRlc2lnbjEhMB8GCSqGSIb3DQEJ <br />    ARYSZm9yZGVpc2duQDIxY24uY29tggEAMA0GCSqGSIb3DQEBBAUAA4GBADDOp/O/ <br />    o3mBZV4vc<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="mm">3mm</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="C">2C</st1:chmetcnv>6CcnB7rRSYEoGm6T6OZsi8mxyF5w1NOK5oI5fJU8xcf8aYFVoi <br />    0i4LlsiQw+EwpnjUXfUBxp/g4Cazlv57mSS6h1t<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="a">4a</st1:chmetcnv>/BPOIwzcZGpo/R<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="g">3g</st1:chmetcnv>/fOPwsF <br />    F/2RC++81s6k78iezFrTs9vnsm/G4vRjngLI <br />    -----END CERTIFICATE----- <br />    --- <br />    Server certificate <br />    subject=/C=AU/ST=Some-State/L=gz/O=ai ltd/OU=sw/CN=fordesign/ <br />    Email=xxx@xxx.xom <br />    issuer=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd/CN=fordesign/ <br />    Email=fordeisgn@21cn.com <br />    --- <br />    No client certificate CA names sent <br />    --- <br />    SSL handshake has read 1579 bytes and written 535 bytes <br />    --- <br />    New, TLSv1/SSLv3, Cipher is DES-CBC3-SHA <br />    Server public key is 1024 bit <br />    SSL-Session: <br />    Protocol : SSLv3 <br />    Cipher : DES-CBC3-SHA <br />    Session-ID: E1EC3B<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="51" unitname="F">051F</st1:chmetcnv>5DB8E2E3D3CD10E<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="C">4C</st1:chmetcnv>0412501DDD6641ACA932B65DC2 <br />    5DCD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="0" unitname="a">0A</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>86E <br />    Session-ID-ctx: <br />    Master-Key: 47DB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="a">3A</st1:chmetcnv>86375DB2E99982AFD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8" unitname="F">8F</st1:chmetcnv>5B382B4316385694B01B74BFC3FA <br />    <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="26" unitname="C">26C</st1:chmetcnv>7DBD489CABE0EE1B20CE8E95E4ABF930099084B0 <br />    Key-Arg : None <br />    Start Time: 974010506 <br />    Timeout : 300 (sec) <br />    Verify return code: 0 (ok)<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75654.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:46 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_21.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二十）－－指令rsautl</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_20.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:44:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_20.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75652.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_20.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75652.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75652.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">rsautl</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl rsautl [-in file] [-out file] [-inkey file] [-pubin] [-certin] <br />    <br />    [-sign] [-verify] [-encrypt] [-decrypt] [-pkcs] [-ssl] [-raw] [-hexdump] <br />    <br />    [-asn1parse] <br />    <br />     <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令能够使用</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法签名，验证身份，</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密数据。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -in filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定输入文件名。缺省为标准输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -out filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定输入文件名，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省为标准输出。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -inkey file <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定我们的私有密钥文件，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式必须是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">私有密钥文件。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -pubin <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定我们的公共密钥文件。说真的我还真不知道</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥文件有什么用，一般公共密钥都是放在证书里面的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -certin <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定我们的证书文件了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -sign <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给输入的数据签名。需要我们的私有密钥文件。</span>
				<span style="FONT-SIZE: 9pt">
						<span lang="EN-US">
								<br />    -verify <br />    </span>
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对输入的数据进行验证。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -encrypt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用我们的公共密钥对输入的数据进行加密。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -decrypt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥对输入的数据进行解密。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -pkcs, -oaep, -ssl, -raw <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">采用的填充模式，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上述四个值分别代表：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PKCS#1.5(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省值</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">), PKCS#1 OAEP, SSLv2</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面特定的填充模式，或者不填充。如果要签名，只有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-pkcs</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-raw</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -hexdump <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用十六进制输出数据。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -asn1parse <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对输出的数据进行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分析。看看指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">asn1parse</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">吧。该指令一般和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-verify</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一起用的时候威力大。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令加密数据的时候只能加密少量数据，要加密大量数据，估计要调</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">API.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我也没试过写</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密解密的程序来玩。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用私有密钥对某文件签名：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsautl -sign -in file -inkey key.pem -out sig <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意哦，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件真的不能太大，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个不能太大意思是必须很小。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件大小最好不要大过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">73</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。绝对不能多过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">150</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，多了就会出错。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个工具真是用来玩的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对签名过的数据进行验证，得到原来的数据。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsautl -verify -in sig -inkey key.pem <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检查原始的签名过的数据：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsautl -verify -in sig -inkey key.pem -raw -hexdump <br />    <br />     0000 - 00 01 ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0010 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0020 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0030 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0040 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0050 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0060 - ff ff ff ff ff ff ff ff-ff ff ff ff ff ff ff ff ................ <br />    <br />     0070 - ff ff ff ff 00 68 65 <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="C">6c</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="True" hasspace="False" sourcevalue="6" unitname="C">-6c</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="F">6f</st1:chmetcnv> 20 77 <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="F">6f</st1:chmetcnv> 72 <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="C">6c</st1:chmetcnv> 64 .....hello world <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很明显，这是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PKCS#1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构：使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">0xff</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">填充模式。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配合指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">asn1parse,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以分析签名的证书，我们在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">req</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令里说了怎么做自签名的证书了，现在来分析一下先。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl asn1parse -in pca-cert.pem <br />    <br />    0:d=0 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="4" unitname="l">4 l</st1:chmetcnv>= 742 cons: SEQUENCE <br />    <br />     4:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="4" unitname="l">4 l</st1:chmetcnv>= 591 cons: SEQUENCE <br />    <br />     8:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 3 cons: cont [ 0 ] <br />    <br />     10:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 1 prim: INTEGER :02 <br />    <br />     13:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 1 prim: INTEGER :00 <br />    <br />     16:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 13 cons: SEQUENCE <br />    <br />     18:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 9 prim: OBJECT :md5WithRSAEncryption <br />    <br />     29:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 0 prim: NULL <br />    <br />     31:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 92 cons: SEQUENCE <br />    <br />     33:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 11 cons: SET <br />    <br />     35:d=4 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 9 cons: SEQUENCE <br />    <br />     37:d=5 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 3 prim: OBJECT :countryName <br />    <br />     42:d=5 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 2 prim: PRINTABLESTRING :AU <br />    <br />     .... <br />    <br />     599:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 13 cons: SEQUENCE <br />    <br />     601:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 9 prim: OBJECT :md5WithRSAEncryption <br />    <br />     612:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 0 prim: NULL <br />    <br />     614:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="3" unitname="l">3 l</st1:chmetcnv>= 129 prim: BIT STRING <br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最后一行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">BIT STRING</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是实际的签名。我们可以这样子捏它出来：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl asn1parse -in pca-cert.pem -out sig -noout -strparse 614 <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还可以这样子把公共密钥给弄出来：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl x509 -in test/testx509.pem -pubkey -noout &gt;;pubkey.pem <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们也可以这样子分析签名：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsautl -in sig -verify -asn1parse -inkey pubkey.pem -pubin <br />    0:d=0 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 32 cons: SEQUENCE <br />    <br />     2:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 12 cons: SEQUENCE <br />    <br />     4:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 8 prim: OBJECT :md5 <br />    <br />     14:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 0 prim: NULL <br />    <br />     16:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 16 prim: OCTET STRING <br />    <br />     0000 - f3 46 9e aa <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="a">1a</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="a">4a</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="73" unitname="C">73 c</st1:chmetcnv>9-37 ea 93 00 48 25 08 b5 .F...Js.7...H%.. <br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是经过分析后的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构。可以看出来使用的哈希算法是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">md5. (</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很抱歉，我自己试这一行的时候输出结果却完全不同。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    0:d=0 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 120 cons: appl [ 24 ] <br />    length is greater than 18 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完全没有办法看出那里有写哈希算法。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书里面的签名部分可以这么捏出来：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl asn1parse -in pca-cert.pem -out tbs -noout -strparse 4 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样得到他的哈希算法的细节：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl md5 -c tbs <br />    MD5(tbs)= f3:46:9e:aa:<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="a">1a</st1:chmetcnv>:<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="a">4a</st1:chmetcnv>:73:c9:37:ea:93:00:48:25:08:b5<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75652.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:44 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_20.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十九）－－指令rsa</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_19.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:43:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_19.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75651.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_19.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75651.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75651.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十九.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">rsa</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl rsa [-inform PEM|NET|DER] [-outform PEM|NET|DER] [-in filename] <br />    <br />    [-passin arg] [-out filename] [-passout arg] [-sgckey] [-des] [-des3] <br />    <br />    [-idea] [-text] [-noout] [-modulus] [-check] [-pubin] [-pubout] <br />    <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />   rsa</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令专门处理</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">密钥</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实其用法和</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">dsa</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的差不多</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">. </span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -inform DER|PEM|NET <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定输入的格式是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NET.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里多了一种格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NET,DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式采用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准格式。一般用的多的都是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式，就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你去看看你做出来的那</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.key, .crt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件一般都是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的，第一行和最后一行指明内容，中间就是经过编码的东西。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NET</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式在本章后面会详细解释</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -outform DER|PEM|NET <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和上一个差不多，不同的是指定输出格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -in filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要分析的文件名称。如果文件有密码保护</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">会要你输入的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -passin arg <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">去看看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那一章关于这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的解释吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -out filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要输出的文件名。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -passout arg <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没什么用的一个选项，用来把保护</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的密码输出的，意义和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">passin</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">差不多。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -sgckey <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">配合</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NET</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的私有密钥文件的一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有必要去深入知道了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -des|-des3|-idea <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指明用什么加密算法把我们的私有密钥加密。加密的时候会需要我们输入密码来保护该文件的。如果这仨一个都没有选，那么你的私有密钥就以明文写进你的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件。该选项只能输出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的文件。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -text <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出私有密钥的各个组成部分</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -noout <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不打印出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的编码版本信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -modulus <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把其公共密钥的值也打印出来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -pubin <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省的来说是从输入文件里读到私有密钥，这个就可以从输入文件里去读公共密钥</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -pubout <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省的来说是打印出私有密钥，这个就可以打印公共密钥</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果上面那个选项有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么这个选项也自动被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set. <br />    -check <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">检查</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥是否被破坏了这个指令实在和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">dsa</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">太相似了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">copy</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的我手软。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在解释一下</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NET</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一种什么格式。它是为了和老的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">netscape server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以及</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IIS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">兼容才弄出来的。他使用没有被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">salt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">过的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RC4</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做加密算法，加密强度很底，如果不是一定要用就别用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">私有密钥文件的保护密码去掉（最好别这么做）</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in key.pem -out keyout.pem <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES3</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法加密我们的私有密码文件：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in key.pem -des3 -out keyout.pem <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把一个私有密钥文件从</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式转化成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in key.pem -outform DER -out keyout.der <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把私有密钥的所有内容详细的打印出来：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in key.pem -text -noout <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只打印出公共密钥部分：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in key.pem -pubout -out pubkey.pem<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75651.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:43 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_19.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十八）－－指令req</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_18.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:41:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_18.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75649.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_18.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75649.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75649.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 十八.     														指令														req																																						用法														:         openssl req [-inform PEM|DER] [-outform PEM|DER] [-in filen...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhhp1314520/articles/openssl_18.html'>阅读全文</a><img src ="http://www.blogjava.net/zhhp1314520/aggbug/75649.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:41 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_18.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十七）－－指令rand</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_17.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:40:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_17.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75648.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_17.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75648.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75648.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十七.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">rand</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<b>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">: <br />    <br />    openssl rand [-out file] [-rand file(s)] [-base64] num <br />    <br />        <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">描述</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">: <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用来产生伪随机字节</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">. </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">随机数字产生器需要一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">先已经说过了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">在没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">/dev/srandom</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">系统下的解决方法是自己做一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">~/.rnd</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">如果该程序能让随机数字产生器很满意的被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seeded,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">程序写回一些怪怪的东西回该文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">. </span>
		</b>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />    OPTIONS <br />   -out file <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">输出文件</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">. <br />   -rand file(s) <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产生随机数字的时候用过</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的文件，可以把多个文件用冒号分开一起做</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed. <br />   -base64 <br />   </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">对产生的东西进行</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">base64</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">编码</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />   num <br />  </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指明产生多少字节随机数</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">. </span>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75648.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:40 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_17.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十六）－－指令pkcs7</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_16.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:39:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_16.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75646.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_16.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75646.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75646.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十六.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">pkcs7</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    openssl pkcs7 [-inform PEM|DER] [-outform PEM|DER] [-in filename] <br />    <br />    [-out filename] [-print_certs] [-text] [-noout] <br />    <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">处理</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">PKCS#7</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的工具</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -inform DER|PEM <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定输入的格式是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER. DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式采用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标准格式。一般用的多的都是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式，就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你去看看你做出来的那些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.key, .crt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件一般都是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式的，第一行和最后一行指明内容，中间就是经过编码的东西。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -outform DER|PEM <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和上一个差不多，不同的是指定输出格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -in filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要分析的文件名称</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省是标准输入</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -out filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要输出的文件名</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省是标准输出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    write to or standard output by default. <br />    -print_certs <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出该文件内的任何证书或者</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRL. <br />    -text <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出证书的细节</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -noout <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不要打印出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PKCS#7</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构的编码版本信息</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PKCS#7</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件从</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式转换成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl pkcs7 -in file.pem -outform DER -out file.der <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出文件内所有的证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl pkcs7 -in file.pem -print_certs -out certs.pem <br />    PCKS#7 </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的开始和结束俩行是这样子的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    -----BEGIN PKCS7----- <br />    -----END PKCS7----- <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为了和某些猥琐</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">兼容</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样子的格式也可以接受</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -----BEGIN CERTIFICATE----- <br />    -----END CERTIFICATE----- <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">好象我们还没有解释</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">pkcs#7</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是什么东西</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有兴趣的可以看看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">rfc2315, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">估计看完目录还没有阵亡的同学不会超过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1/10.<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75646.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:39 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_16.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十五）－－指令passwd</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_15.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:37:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_15.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75645.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_15.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75645.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75645.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十五.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">passwd</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">SYNOPSIS <br />    <br />    openssl passwd [-crypt] [-1] [-apr1] [-salt string] [-in file] [-stdin] <br />    <br />    [-quiet] [-table] {password} <br />    <br />     <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令计算用来哈希某个密码，也可以用来哈希文件内容。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令支持三种哈希算法：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    UNIX</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">系统的标准哈希算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(crypt) <br />    MD5-based BSD(1) <br />    <br />    OPTIONS <br />   -crypt -1 -apr1 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这三个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中任意选择一个作为哈希算法，缺省的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-crypt <br />    -salt string <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入作为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">salt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的字符串。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -in file <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要哈希的文件名称</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -stdin <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从标准输入读入密码</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -quiet <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当从标准输入读密码，输入的密码太长的时候，程序将自动解短它。这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">将不在情况下发出警告。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -table <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在输出列的时候</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先输出明文的密码</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后输出一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TAB,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">再输出哈希值</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    openssl passwd -crypt -salt xx password xxj31ZMTZzkVA. <br />    openssl passwd -1 -salt xxxxxxxx password $1$xxxxxxxx$8XJIcl6ZXqBMCK0qFevqT1. <br />    openssl passwd -apr1 -salt xxxxxxxx password $apr1$xxxxxxxx$dxHfLAsjHkDRmG83UXe8K0<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75645.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:37 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_15.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十四）－－指令genrsa</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_14.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:36:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_14.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75644.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_14.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75644.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75644.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十四.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">genrsa</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<b>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用法：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						<br />    <br />    openssl genrsa [-out filename] [-passout arg] [-des] [-des3] [-idea] <br />    <br />    [-f4] [-3] [-rand file(s)] [numbits] <br />    <br />     <br />    DESCRIPTION <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">生成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">私有密钥的工具。</span>
		</b>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />    <br />    OPTIONS <br />    -out filename <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">私有密钥输入文件名，缺省为标准输出。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    the output filename. If this argument is not specified then standard output is uused. <br />    -passout arg <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">参看指令</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">dsa</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">里面的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">passout</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">参数说明</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -des|-des3|-idea <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">采用什么加密算法来加密我们的密钥。一般会要你输入保护密码。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">如果这三个中一个也没</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">set, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">我们的密钥将不被加密而输入。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -F4|-3 <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">使用的公共组件，一种是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">3, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">一种是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">F4, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">我也没弄懂这个</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">option</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">是什么意思。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -rand file(s) <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">key</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的时候用过</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的文件，可以把多个文件用冒号分开一起做</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed. <br />    numbits <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指明产生的参数的长度。必须是本指令的最后一个参数。如果没有指明，则产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">512bit</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">长的参数。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">研究过</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">算法的人肯定知道，</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的私有密钥其实就是三个数字，其中俩个是质数。这俩个呢，就叫</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">prime numbers.</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">RSA</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">私有密钥的关键就是产生这俩。还有一些其他的参数，引导着整个私有密钥产生的过程。因为产生私有密钥过程需要很多随机数，这个</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
		</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">过程的时间是不固定的。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">prime numbers</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的算法有个</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">bug, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">它不能产生短的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">primes. key</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">bits</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">起码要有</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">64</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">位。一般我们都用</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">1024bit</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">key.</span>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:36 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_14.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十三）－－指令gendsa</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_13.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:35:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_13.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75643.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_13.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75643.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75643.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十三<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">gendsa</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl gendsa [-out filename] [-des] [-des3] [-idea] <br />    <br />    [-rand file(s)] [paramfile] <br />    <br />     <br />        <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">描述：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令由</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数来产生</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的一对密钥。</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">dsa</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数可以用</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">dsaparam</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来产生。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -des|-des3|-idea <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">采用什么加密算法来加密我们的密钥。一般会要你输入保护密码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果这三个中一个也没</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们的密钥将不被加密而输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -rand file(s) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产生</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候用过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">seed</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的文件，可以把多个文件用冒号分开一起做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">seed. <br />    paramfile <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数文件。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75643.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:35 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_13.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十二）－－指令enc</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_12.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_12.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75641.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_12.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75641.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75641.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十二<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">enc</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl enc -ciphername [-in filename] [-out filename] [-pass arg] [-e] <br />    <br />    [-d] [-a] [-k password] [-kfile filename] [-K key] [-iv IV] [-p] <br />    <br />    [-P] [-bufsize number] [-debug] <br />    <br />        <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对称加密算法工具。它能够把数据用不同对称加密算法来加</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密。还能够把加密</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接密</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还可以把结果进行</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码。</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    OPTIONS <br />    -in filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密的输入文件，缺省为标准输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -out filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密的输出文件，缺省为标准输出。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -pass arg <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入文件如果有密码保护，在这里输入密码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -salt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为了和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">0.9.5</st1:chsdate></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以后的版本兼容，必须</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option.salt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大概又是密码学里的一个术语，具体是做什么的我也没弄的很明白。就</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我的理解</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这是加密过后放在密码最前面的一段字符串</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用途也是为了让破解更难</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果理解错了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">请密码学高手指正</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    -nosalt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">想和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl0.9.5</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以前的版本兼容，就</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option <br />    -e <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个缺省会</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把输入数据加密。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -d <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密输入数据。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -a <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码处理数据。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示在加密之后的数据还要用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码捏一次，解密之前则先用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码解码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -k password <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一个过时了的项，为了和以前版本兼容。现在用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代替了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -kfile filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同上，被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">passin</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代替。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -K key <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">16</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进制表示的密码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -iv IV <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作用完全同上。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -p <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出使用的密码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -P <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">作用同上，但打印完之后马上退出。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -bufsize number <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">I/O</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作的缓冲区大小</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -debug <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印调试信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意事项：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    0.9.5</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以后的版本，使用这个指令，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-salt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是必须被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的。否则很容易用字典攻击法破你的密码，流加密算法也容易被破。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法中有块加密算法</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和流加密算法俩种，块加密算法是一次加密固定长度的数据，一般是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">8Bytes, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流加密算法则加密大量数据</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。为什么我也弄不清楚。研究加密算法实在麻烦，也不是我们程序员的责任本指令可以用不同加密算法，那么哪些好，哪些坏呢？如果</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你使用不当，高强度的加密算法也变脆弱了。一般推荐新手门使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">des3-cbc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令支持的加密算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    base64 Base 64 <br />    bf-cbc Blowfish in CBC mode <br />    <br />     bf Alias for bf-cbc <br />    <br />     bf-cfb Blowfish in CFB mode <br />    <br />     bf-ecb Blowfish in ECB mode <br />    <br />     bf-ofb Blowfish in OFB mode <br />    <br />     <br />    <br />     cast-cbc CAST in CBC mode <br />    <br />     cast Alias for cast-cbc <br />    <br />     cast5-cbc CAST<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="5" unitname="in">5 in</st1:chmetcnv> CBC mode <br />    <br />     cast5-cfb CAST<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="5" unitname="in">5 in</st1:chmetcnv> CFB mode <br />    <br />     cast5-ecb CAST<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="5" unitname="in">5 in</st1:chmetcnv> ECB mode <br />    <br />     cast5-ofb CAST<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="5" unitname="in">5 in</st1:chmetcnv> OFB mode <br />    des-cbc DES in CBC mode <br />    <br />     des Alias for des-cbc <br />    <br />     des-cfb DES in CBC mode <br />    <br />     des-ofb DES in OFB mode <br />    <br />     des-ecb DES in ECB mode <br />    <br />         <br />     des-ede-cbc Two key triple DES EDE in CBC mode <br />    <br />     des-ede Alias for des-ede <br />    <br />     des-ede-cfb Two key triple DES EDE in CFB mode <br />    <br />     des-ede-ofb Two key triple DES EDE in OFB mode <br />    <br />    <br />    <br />     des-ede3-cbc Three key triple DES EDE in CBC mode <br />    <br />     des-ede3 Alias for des-ede3-cbc <br />    <br />     des3 Alias for des-ede3-cbc <br />    <br />     des-ede3-cfb Three key triple DES EDE CFB mode <br />    <br />     des-ede3-ofb Three key triple DES EDE in OFB mode <br />    <br />      desx DESX algorithm. <br />    <br />      idea-cbc IDEA algorithm in CBC mode <br />    <br />     idea same as idea-cbc <br />    <br />     idea-cfb IDEA in CFB mode <br />    <br />     idea-ecb IDEA in ECB mode <br />    <br />     idea-ofb IDEA in OFB mode <br />    <br />     <br />    <br />     rc2-cbc 128 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />     rc2 Alias for rc2-cbc <br />    <br />     rc2-cfb 128 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />     rc2-ecb 128 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />     rc2-ofb 128 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />     rc2-64-cbc 64 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />     rc2-40-cbc 40 bit RC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="in">2 in</st1:chmetcnv> CBC mode <br />    <br />         <br />     rc4 128 bit RC4 <br />    <br />     rc4-64 64 bit RC4 <br />    <br />     rc4-40 40 bit RC4 <br />    <br />         <br />     rc5-cbc RC5 cipher in CBC mode <br />    <br />     rc5 Alias for rc5-cbc <br />    <br />     rc5-cfb RC5 cipher in CBC mode <br />    <br />     rc5-ecb RC5 cipher in CBC mode <br />    <br />     rc5-ofb RC5 cipher in CBC mode <br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">大家可能看到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都分</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">des-ecb, des-cbc, des-cfb</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这些。简单解释一下。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    ecb</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是说每来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">8bytes,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">8bytes</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送出去。各个不同的数据块之间没有任何联系。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cbc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cfb</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则每次加密一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">8bytes</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候都和上一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">8bytes</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密的结果有一个运算法则。各个数据块之间是有联系的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把某二进制文件转换成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码方式：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl base64 -in file.bin -out file.b64 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把某</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码文件转换成二进制文件。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl base64 -d -in file.b64 -out file.bin <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把某文件用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES-CBC</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方式加密。加密过程中会提示你输入保护密码。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />     openssl des3 -salt -in file.txt -out file.des3 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解密该文件，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">密码通过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-k</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来输入</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl des3 -d -salt -in file.des3 -out file.txt -k mypassword <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密某文件，并且把加密结果进行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码。用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bf+cbc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl bf -a -salt -in file.txt -out file.bf <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解码某文件，再解密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl bf -d -salt -a -in file.bf -out file.txt<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75641.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:33 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_12.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十一）－－指令dhparam</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_11.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:32:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_11.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75640.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_11.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75640.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75640.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">dhparam</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<b>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">用法：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						<br />    <br />    openssl dhparam [-inform DER|PEM] [-outform DER|PEM] [-in filename] <br />    <br />    [-out filename] [-dsaparam] [-noout] [-text] [-C] [-2] [-5] <br />    <br />    [-rand file(s)] [numbits] <br />    <br />     <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">描述：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">本指令用来维护</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的参数文件。</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				</span>
		</b>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />    OPTIONS: <br />    -inform DER|PEM <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指定输入的格式是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DEM</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">还是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DER. DER</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">格式采用</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">ASN1</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DER</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">标准格式。一般用的多的都是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">PEM</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">格式，就是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">base64</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">编码格式</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">.</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">你去看看你做出来的那些</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">.key, .crt</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">文件一般都是</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">PEM</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">格式的，第一行和最后一行指明内容，中间就是经过编码的东西。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -outform DER|PEM <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">和上一个差不多，不同的是指定输出格式</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -in filename <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">要分析的文件名称。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -out filename <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">要输出的文件名。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -dsaparam <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">如果本</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">option</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">被</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">set, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">那么无论输入还是输入都会当做</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DSA</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的参数。它们再被转化成</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的参数格式。这样子产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">参数和</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH key</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">都会块很多。会使</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">SSL</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">握手的时间缩短。当然时间是以安全性做牺牲的，所以如果这样子最好每次使用不同的参数，以免给人</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">K</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">破你的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">key. <br />     -2, -5 <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">使用哪个版本的</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">参数产生器。版本</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">2</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">是缺省的。如果这俩个</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">option</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">有一个被</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">set, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">那么将忽略输入文件。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />     -rand file(s) <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">key</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的时候用过</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">的文件，可以把多个文件用冒号分开一起做</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">seed. <br />    numbits <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">指明产生的参数的长度。必须是本指令的最后一个参数。如果没有指明，则产生</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">512bit</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">长的参数。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />     <br />    -noout <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">不打印参数编码的版本信息。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -text <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">将</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">DH</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">参数以可读方式打印出来。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    -C <br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">将参数转换成</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">C</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">代码方式。这样可以用</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">get_dhnumbits()</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">函数调用这些参数。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    <br />    openssl</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">还有俩个指令，</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA"> dh, gendh, </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">现在都过时了，全部功能由</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">dhparam</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">实现。</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">
				<br />    </span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">现在</span>
		<span lang="EN-US" style="FONT-SIZE: 9pt; FONT-FAMILY: 'Times New Roman'; mso-fareast-font-family: 宋体; mso-font-kerning: 1.0pt; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">dh, gendh</span>
		<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-font-kerning: 1.0pt; mso-bidi-font-family: 'Times New Roman'; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: ZH-CN; mso-bidi-language: AR-SA">这俩个指令还保留，但在将来可能会用做其他用途</span>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75640.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:32 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_11.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（十）－－指令dgst</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_10.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:30:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_10.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75638.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_10.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75638.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75638.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">十.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">dgst</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl dgst [md5|md2|sha1|sha|mdc2|ripemd160] [-c] [-d] [file...] <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：这个指令可以用来哈希某个文件内容的，</span>
				</b>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以前的版本还可以用来做数字签名和认证。这个工具本来有很多选项的，可是不知道为什么，现在版本的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">删掉了很多。表示你用什么算法来哈希该文件内容</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />OPTIONS <br />    -md5 -sha</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那些就不用结实了吧，都是一些哈希算法的名称</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -c <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出哈希结果的时候用冒号来分隔开。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -d <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细打印出调试信息</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    file... <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你要哈希的文件，如果没有指定，就使用标准输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要哈希一个叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">fordesign.txt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件的内容，使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SHA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl dgst -sha -c fordesign.txt <br />    SHA(fordesign.txt)= <br />    57:37:dc:a5:<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8" unitname="C">8c</st1:chmetcnv>:bd:12:aa:43:45:fe:<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="a">2a</st1:chmetcnv>:19:f5:05:a3:be:e9:08:cc<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75638.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:30 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_10.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（九）－－指令cipher</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_9.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:29:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_9.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75637.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_9.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75637.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75637.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">九.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是加密算法的意思。</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">主要是对称加密算法和不对称加密算法的组合。</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本指令是用来展示用于</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法的工具。它能够把所有</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持的加密算法按照一定规律排列（一般是加密强度）。这样可以用来做测试工具，决</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">定使用什么加密算法。</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    openssl ciphers [-v] [-ssl2] [-ssl3] [-tls1] [cipherlist] <br />        <br />    COMMAND OPTIONS <br />    -v <br />    </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细列出所有符合的</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的所有细节。列出该</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的版本，公共密钥交换算法，身份验证方法，对称加密算法以及哈希算法。还列出该算法是否可以出口。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法出口？</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">趁这个机会可以给大家来点革命教育。米国的加密算法研究是世界上最先进的，其国家安全局</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(NSA)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在这方面的研究水平已经多次证明比</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最先进水平</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">领先</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> 10</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">15</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年。他们的预算据说是每年</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">200</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">亿美圆。他们的数学家比你知道的还多，他们还是全世界最大的计算机硬件买家。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是他们最先弄出来的。到了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> 70</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年代，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IBM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也有人在实现室弄出这个算法。都弄出来</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">30</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年了，还使用的这么广泛。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该算法的最隐蔽的是一个叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">S</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匣的东西，是一个常数矩阵。研究</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你就会知道这玩意。因为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IBM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都没有给出这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">S</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匣的解释，所以大家都怀疑使用这个东西是否是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">NSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IBM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">搞出来的后门？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一直到了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">90</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年代，才有俩个以色列人发现了原因，这个是为了对付一种叫什么微分密码分析的破解法而如此设置的，对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">S</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匣的任何改动都将使微分密码分析比较容易的将</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">K</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">掉。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">S</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">匣不仅不是后门，还是最大限度的增加了加密强度。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说远了，大意就是：老米在这方面领先的可怕。但他们怕他们的研究成果给其他国家的人用，搞的自己也破解不了，那就麻烦了。所以他们用法律规定了，一定强度以上的加密算法禁止给其他国家用。那些加密强度很弱的就可以出口。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个故事教育我们，为了中国的崛起，还有很多路要走呐。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-v</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个参数，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很多</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可能重复出现，因为他们可以同时被不同版本的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议使用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />     -ssl3 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只列出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSLv3</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ciphers <br />     -ssl2 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只列出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSLv2</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ciphers <br />    -tls1 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只列出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TLSv1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ciphers <br />    -h, -? <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印帮助信息</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    cipherlist <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列出一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher list</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的详细内容。一般都这么用：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   openssl -v XXXXX <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">XXXXX</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher list.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果是空的话，那么</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">XXXXX</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表所有的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />   CIPHER LIST </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   cipher list</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由许多</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher string</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">组成，由冒号，逗号或者空格分隔开。但一般最常用的是用冒号。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   cipher string</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">又是什么？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它可以仅仅包含一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比如</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RC4-SHA. <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它也可以仅仅包含一个加密算法，比如</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SHA, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那就表示所有用到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SHA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都得列出来。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你还可以使用三个符号来捏合各种不同的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做出</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher string.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这三个符号是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> +, -, !</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。我想这个很好理解吧，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">MD5+DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示同时使用了这俩种算法的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">!SHA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就表示所有没有有用到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SHA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> IDEA-CBC</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就表示使用了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IDEA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">而没有使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CBC</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的所有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />    openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还缺省的定义了一些通用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher string, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    DEFAULT: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">缺省的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher list. <br />    ALL: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">所有的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher <br />    HIGH, LOW, MEDIUM: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分别代表</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">高强度，中等强度和底强度的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher list.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体一点就是对称加密算法的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的长度分别是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> &gt;;128bit &lt;128bit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> ==128bit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />    EXP, EXPORT, EXPORT40: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">老米的垄断体现，前俩者代表法律允许出口的加密算法，包括</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">40bit, 56bit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">长度的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的算法，后者表示只有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">40bit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">长度的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的加密算法。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    eNULL, NULL: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示不加密的算法。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那也叫加密算法吗？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    aNULL: </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不提供身份验证的加密算法。目前只有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一种。该算法很容易被监听者，路由器等中间设备攻击，所以不提倡使用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下表列出了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL/TLS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">以及</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面如何表示这些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher. <br />    SSL v3.0 cipher suites OPENLLS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示方法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />     SSL_RSA_WITH_NULL_MD5 NULL-MD5 <br />    <br />     SSL_RSA_WITH_NULL_SHA NULL-SHA <br />    <br />     SSL_RSA_EXPORT_WITH_RC4_40_MD5 EXP-RC4-MD5 <br />    <br />     SSL_RSA_WITH_RC4_128_MD5 RC4-MD5 <br />    <br />     SSL_RSA_WITH_RC4_128_SHA RC4-SHA <br />    <br />     SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5 EXP-RC2-CBC-MD5 <br />    <br />     SSL_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA <br />    <br />     SSL_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-DES-CBC-SHA <br />    <br />     SSL_RSA_WITH_DES_CBC_SHA DES-CBC-SHA <br />    <br />     SSL_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA <br />        <br />     SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA Not implemented. <br />    <br />     SSL_DH_DSS_WITH_DES_CBC_SHA Not implemented. <br />    <br />     SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. <br />    <br />     SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA Not implemented. <br />    <br />     SSL_DH_RSA_WITH_DES_CBC_SHA Not implemented. <br />    <br />     SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. <br />    <br />     SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-DSS-DES-CBC-SHA <br />    <br />     SSL_DHE_DSS_WITH_DES_CBC_SHA EDH-DSS-CBC-SHA <br />    <br />     SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA <br />    <br />     SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-RSA-DES-CBC-SHA <br />    <br />     SSL_DHE_RSA_WITH_DES_CBC_SHA EDH-RSA-DES-CBC-SHA <br />    <br />     SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA <br />    <br />     <br />     SSL_DH_anon_EXPORT_WITH_RC4_40_MD5 EXP-ADH-RC4-MD5 <br />    <br />     SSL_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 <br />    <br />     SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA EXP-ADH-DES-CBC-SHA <br />    <br />     SSL_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA <br />    <br />     SSL_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA <br />    <br />     <br />    <br />     SSL_FORTEZZA_KEA_WITH_NULL_SHA Not implemented. <br />    <br />     SSL_FORTEZZA_KEA_WITH_FORTEZZA_CBC_SHA Not implemented. <br />    <br />     SSL_FORTEZZA_KEA_WITH_RC4_128_SHA Not implemented. <br />    <br />     <br />    <br />     TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA EXP1024-DES-CBC-SHA <br />    <br />     TLS_RSA_EXPORT1024_WITH_RC4_56_SHA EXP1024-RC4-SHA <br />    <br />     TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA EXP1024-DHE-DSS-DES-CBC-SHA <br />    <br />     TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA EXP1024-DHE-DSS-RC4-SHA <br />    <br />     TLS_DHE_DSS_WITH_RC4_128_SHA DHE-DSS-RC4-SHA <br />    <br />     <br />    <br />     <br />    <br />    TLS v1.0 cipher suites. <br />    <br />     TLS_RSA_WITH_NULL_MD5 NULL-MD5 <br />    <br />     TLS_RSA_WITH_NULL_SHA NULL-SHA <br />    <br />     TLS_RSA_EXPORT_WITH_RC4_40_MD5 EXP-RC4-MD5 <br />    <br />     TLS_RSA_WITH_RC4_128_MD5 RC4-MD5 <br />    <br />     TLS_RSA_WITH_RC4_128_SHA RC4-SHA <br />    <br />     TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5 EXP-RC2-CBC-MD5 <br />    <br />     TLS_RSA_WITH_IDEA_CBC_SHA IDEA-CBC-SHA <br />    <br />     TLS_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-DES-CBC-SHA <br />    <br />     TLS_RSA_WITH_DES_CBC_SHA DES-CBC-SHA <br />    <br />     TLS_RSA_WITH_3DES_EDE_CBC_SHA DES-CBC3-SHA <br />    <br />     <br />    <br />     TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA Not implemented. <br />    <br />     TLS_DH_DSS_WITH_DES_CBC_SHA Not implemented. <br />    <br />     TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA Not implemented. <br />    <br />     TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA Not implemented. <br />    <br />     TLS_DH_RSA_WITH_DES_CBC_SHA Not implemented. <br />    <br />     TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA Not implemented. <br />    <br />     TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-DSS-DES-CBC-SHA <br />    <br />     TLS_DHE_DSS_WITH_DES_CBC_SHA EDH-DSS-CBC-SHA <br />    <br />     TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA EDH-DSS-DES-CBC3-SHA <br />    <br />     TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA EXP-EDH-RSA-DES-CBC-SHA <br />    <br />     TLS_DHE_RSA_WITH_DES_CBC_SHA EDH-RSA-DES-CBC-SHA <br />    <br />     TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA <br />    <br />     <br />    <br />     TLS_DH_anon_EXPORT_WITH_RC4_40_MD5 EXP-ADH-RC4-MD5 <br />    <br />     TLS_DH_anon_WITH_RC4_128_MD5 ADH-RC4-MD5 <br />    <br />     TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA EXP-ADH-DES-CBC-SHA <br />    <br />     TLS_DH_anon_WITH_DES_CBC_SHA ADH-DES-CBC-SHA <br />    <br />     TLS_DH_anon_WITH_3DES_EDE_CBC_SHA ADH-DES-CBC3-SHA <br />    <br />    NOTES <br />    DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法由于老米没有允许人家使用，所有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都没有实现之。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">举例时间：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细列出所有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">支持的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ciphers,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">包括那些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">eNULL ciphers: <br />    openssl ciphers -v 'ALL:eNULL' <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">按加密强度列出所有加密算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">: <br />    openssl ciphers -v 'ALL:!ADHSTRENGTH' <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">详细列出所有同时使用了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">3DES</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ciphers <br />    openssl ciphers -v '3DES:+RSA'<o:p></o:p></span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75637.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:29 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_9.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（八）－－指令ca</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_8.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:27:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_8.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75635.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_8.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75635.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75635.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 八.     														指令														ca																																用途：										    				模拟				CA				行为的工具				.				有了它，你就是一个				CA,				不过估计是				nobod...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhhp1314520/articles/openssl_8.html'>阅读全文</a><img src ="http://www.blogjava.net/zhhp1314520/aggbug/75635.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:27 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_8.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（七）－－指令asn1parse</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_7.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:26:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_7.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75633.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_7.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75633.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75633.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">七.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">asn1parse</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt"> </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">openssl asn1parse [-inform PEM|DER] [-in filename] [-out filename] <br />    <br />     [-noout] [-offset number] [-length number] [-i] [- structure filename] <br />    <br />     [-strparse offset] <br />    <br /></span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用途：一个诊断工具，可以对</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构的东东进行分析。</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是什么？一个用来描述对象的标准。要解释的话，文章可以比解释</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构的文章更长。有兴趣的话自己去网络上找来看吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />-inform DER|PEM|TXT <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入的格式，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是二进制格式，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">PEM</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编码格式</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,TXT</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不用解释了吧</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />-in filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入文件的名称，缺省为标准输入。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -out filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">输入文件的名称，输入一般都是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DER</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数据。如果没这个项，就没有东西输入咯。该项一般都要和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-strparse</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一起使用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -noout <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不要输出任何东西</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不明白有什么用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    <br />-offset number <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从文件的那里开始分析，看到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">offset</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就应该知道是什么意思了吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -length number <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一共分析输入文件的长度的多少，缺省是一直分析到文件结束。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -i <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根据输出的数据自动缩进。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    - structure filename <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当你输入的文件包含有附加的对象标志符的时候，使用这个。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这种文件的格式在后面会介绍。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -strparse offset <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">从由</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">offset</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指定的偏移量开始分析</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对象。当你碰到一个嵌套的对象时，可以反复使用这个项来一直进到里面的结构捏出你需要的东东。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般分析完之后输入的东东如下：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl asn1parse -out temp.ans -i -inform pem &lt; server.crt <br />    <br />     0:d=0 hl=<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="4" unitname="l">4 l</st1:chmetcnv>= 881 cons: SEQUENCE <br />    <br />     4:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="4" unitname="l">4 l</st1:chmetcnv>= 730 cons: SEQUENCE <br />    <br />     ... .... <br />    <br />     172:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 13 prim: UTCTIME :000830074155Z <br />    <br />     187:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 13 prim: UTCTIME :010830074155Z <br />    <br />     202:d=2 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="3" unitname="l">3 l</st1:chmetcnv>= 136 cons: SEQUENCE <br />    <br />     205:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 11 cons: SET <br />    <br />     ... ... <br />    <br />     359:d=3 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="3" unitname="l">3 l</st1:chmetcnv>= 141 prim: BIT STRING <br />    <br />     ... ... <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本例是一个自签名的证书。每一行的开始是对象在文件里的偏移量。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">d=xx</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是结构嵌套的深度。知道</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结构的人应该知道，每一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SET</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">或者</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SEQUENCE</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都会让嵌套深度增加</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1. <br />    hl=xx</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示当前类型的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">header</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的长度。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1=xx</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示内容的八进制的长度。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    -i</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以让输出的东西容易懂一点。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ASN.1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的知识，可以省略看这一章。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">本例中</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">359</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">行就是证书里的公共密钥。可以用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-strparse</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来看看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl asn1parse -out temp.ans -i -inform pem -strparse 359 &lt; server.crt <br />    <br />     0:d=0 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="3" unitname="l">3 l</st1:chmetcnv>= 137 cons: SEQUENCE <br />    <br />     3:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="3" unitname="l">3 l</st1:chmetcnv>= 129 prim: INTEGER :C0D802B<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="4" unitname="C">4C</st1:chmetcnv>084B<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="20569" unitname="C">20569C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="619" unitname="C">619C</st1:chmetcnv>0FDF <br />    <br />     466EEB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7980920" unitname="a">7980920A</st1:chmetcnv>408D51DA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="22" unitname="C">22C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="20427" unitname="ac">20427AC</st1:chmetcnv>32488665D<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="931" unitname="C">931C</st1:chmetcnv>41E3274912DE<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="2" unitname="F">2F</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="25" unitname="C">25C</st1:chmetcnv>8CA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="C">9C</st1:chmetcnv>97B75 <br />    <br />     <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="415" unitname="C">415C</st1:chmetcnv>01794B622DBEADD92DA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="68" unitname="C">068C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="140" unitname="C">140C</st1:chmetcnv>3AD387BF5FDC<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9" unitname="a">9A</st1:chmetcnv>8D2FCEE<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="F">7F</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="F">7F</st1:chmetcnv>3E36B0194994FD67 <br />    <br />     <st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7897" unitname="C">07897C</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="8969" unitname="F">8969F</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="16" unitname="F">16F</st1:chmetcnv>6ECB<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="3" unitname="F">3F</st1:chmetcnv>03BF985E910817160FE5DCBF874B<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="1" unitname="C">1C</st1:chmetcnv>0DBD<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="6" unitname="a">06A</st1:chmetcnv>568E130DA<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="C">7C</st1:chmetcnv>9FE3 <br />    <br />     9FE<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="a">7A</st1:chmetcnv><st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="7" unitname="F">7F</st1:chmetcnv>421369 <br />    <br />     135:d=1 hl=<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="True" sourcevalue="2" unitname="l">2 l</st1:chmetcnv>= 3 prim: INTEGER :010001 <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不要试图去看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">temp.ans</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的内容，是二进制来的，看不懂的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75633.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:26 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_7.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（六）－－指令 verify</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_6.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:25:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_6.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75632.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_6.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75632.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75632.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">六.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt"> verify</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用法：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />    openssl verify </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-CApath directory</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-CAfile file</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-purpose purpose</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-untrusted file</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-help</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-issuer_checks</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-verbose</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">  </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">-</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">【</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">certificates</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">】</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />     </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">说明：</span>
				</b>
				<b>
						<span lang="EN-US" style="FONT-SIZE: 9pt">
								<br />    <br />     </span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书验证工具。</span>
				</b>
				<b>
						<span style="FONT-SIZE: 9pt">
						</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />     <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">选项</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />     -CApath directory <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书存放目录。这些证书的名称应该是这样的格式：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    xxxxxxxx.0( xxxxxxxx</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">代表证书的哈希值。</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参看</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">x509</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-hash) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">你也可以在目录里</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">touch</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一些这样格式文件名的文件，符号连接到真正的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">xxxxxxxx</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我怎么知道怎么得到？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">x509</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令有说明。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实这样子就可以了：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl x509 -hash -in server.crt <br />    <br />    -CAfile file <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书，里面可以有多个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -untrusted file <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们不信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -purpose purpose <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的用途。如果这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有设置，那么不会对证书的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">链进行验证。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">option</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参数有以下几个：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    sslclinet <br />    sslserver <br />    nssslserver <br />    smimesign <br />    smimeencrypt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等下会详细解释的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    -help <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印帮助信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />-verbose <br />    <br />     </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出详细的操作信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />-issuer_checks <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">打印出我们验证的证书的签发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书的之间的联系。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要一次验证多个证书，把那些证书名都写在后面就好了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />        <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">验证操作解释：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    S/MIME</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和本指令使用完全相同的函数进行验证。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们进行的验证和真正的验证有个根本的区别：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在我们对整个证书链进行验证的时候，即使中途有问题，我们也会验证到最后，而真实的验证一旦有一个环节出问题，那么整个验证过程就告吹。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">验证操作包括几个独立的步骤。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">首先建立证书链，从我们目前的证书为基础，一直上溯到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果中间有任何问题，比如找不到某个证书的颁发者的证书，那么这个步骤就挂。有任何一个证书是字签名的，就被认为是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">寻找一个证书的颁发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也包过几个步骤。在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?><st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">0.<st1:chmetcnv w:st="on" tcsc="0" numbertype="1" negative="False" hasspace="False" sourcevalue="9.5" unitname="a">9.5a</st1:chmetcnv></st1:chsdate></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之前的版本，如果一个证书的颁发者和另一个证书的拥有着相同，就认为后一个证书的拥有者就是前一个证书的签名</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA. <br />    openssl0.9.6</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">及其以后的版本中，即使上一个条件成立，还要进行更多步骤的检验。包括验证系列号等。到底有哪几个我也没看明白。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">得到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的名称之后首先去看看是否是不信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果不是，那么才去看看是否是信任的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA. </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">尤其是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">更是必须是在信任</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">列表里面。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在得到链条上所有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的名称和证书了，下一步是去检查第一个证书的用途是否和签发时候批准的一样。其他的证书则必须都是作为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书而颁发的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的用途在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">x509</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令里会详细解释。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">过了第二步，现在就是检查对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的信任了。可能</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也是每个都负责不同领域的证书签发。缺省的认为任何一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是对任何用途的证书有签发权。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最后一步，检查整条证书链的合法性。比如是否有任何一个证书过期了？签名是否是正确的？是否真的是由该证书的颁发者签名的？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">任何一步出问题，所有该证书值得怀疑，否则，证书检验通过。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />     </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果验证操作有问题了，那么打印出来的结果可能会让人有点模糊。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般如果出问题的话，会有类似这样子的结果打印出来：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    server.pem: /C=AU/ST=Queensland/O=CryptSoft Pty Ltd/CN=Test CA (1024 bit) <br />    error 24 at 1 depth lookup:invalid CA certificate <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第一行说明哪个证书出问题，后面是其拥有者的名字，包括几个字段。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">第二行说明错误号，验证出错在第几层的证书，以及错误描述。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下面是错误号及其描述的详细说明</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意，有的错误虽然有定义，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但真正使用的时候永远不会出现。用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">unused</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">标志</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    0 X509_V_OK <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">验证操作没有问题</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    2 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">找不到该证书的颁发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    3 X509_V_ERR_UNABLE_TO_GET_CRL (unused) <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">找不到和该证书相关的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRL <br />   4 X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE <br />   </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法解开证书里的签名。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    5 X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法解开</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRLs</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的签名。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    6 X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法得到证书里的公共密钥信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    7 X509_V_ERR_CERT_SIGNATURE_FAILURE <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书签名无效</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    8 X509_V_ERR_CRL_SIGNATURE_FAILURE (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书相关的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">签名无效</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    9 X509_V_ERR_CERT_NOT_YET_VALID <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书还没有到有效开始时间</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    10 X509_V_ERR_CRL_NOT_YET_VALID (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与证书相关的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还没有到有效开始时间</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    11 X509_V_ERR_CERT_HAS_EXPIRED <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书过期</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    12 X509_V_ERR_CRL_HAS_EXPIRED (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">与证书相关的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CRL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">过期</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    13 X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">notBefore</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字段格式不对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是说那个时间是非法格式。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    14 X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">notAfter</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字段格式不对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是说那个时间是非法格式。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    15 X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD (unused) <br />    CRL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">lastUpdate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字段格式不对。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    16 X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD (unused) <br />    CRL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">nextUpdate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">字段格式不对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    17 X509_V_ERR_OUT_OF_MEM <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">操作时候内存不够。这和证书本身没有关系。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    18 X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要验证的第一个证书就是字签名证书，而且不在信任</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书列表中。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    19 X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以建立证书链，但在本地找不到他们的根？？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    : self signed certificate in certificate chain <br />    the certificate chain could be built up using the untrusted certificates <br />    but the root could not be found locally. <br />    20 X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有一个证书的签发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书找不到。这说明可能是你的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书列表不齐全。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    21 X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书链只有一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">item, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但又不是字签名的证书。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    22 X509_V_ERR_CERT_CHAIN_TOO_LONG (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书链太长。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    23 X509_V_ERR_CERT_REVOKED (unused) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书已经被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">宣布收回。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    24 X509_V_ERR_INVALID_CA <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">某</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书无效。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    25 X509_V_ERR_PATH_LENGTH_EXCEEDED <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">参数</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">basicConstraints pathlentgh</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">超过规定长度</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    26 X509_V_ERR_INVALID_PURPOSE <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的证书不能用于请求的用途。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">比如链条中某个证书应该是用来做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的，但证书里面的该字段说明该证书不是用做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的，就是这样子的情况。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    27 X509_V_ERR_CERT_UNTRUSTED <br />    Root CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书如果用在请求的用途是不被信任的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    28 X509_V_ERR_CERT_REJECTED <br />    CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书根本不可以用做请求的用途。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    29 X509_V_ERR_SUBJECT_ISSUER_MISMATCH <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书颁发者名称和其</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拥有者名称不相同。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-issuer_checks</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">被</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">set</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候可以检验出来。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    30 X509_V_ERR_AKID_SKID_MISMATCH <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书的密钥标志和其颁发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为其指定的密钥标志不同</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    31 X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书系列号与起颁发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">为其指定的系列号不同。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    32 X509_V_ERR_KEYUSAGE_NO_CERTSIGN <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">某</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的证书用途不包括为其他证书签名。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    50 X509_V_ERR_APPLICATION_VERIFICATION <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">应用程序验证出错。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75632.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:25 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_6.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（五）－－入门</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_5.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:24:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_5.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75631.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_5.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75631.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75631.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">五.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">入门</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实现了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的软件不多，但都蛮优秀的。首先，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">netscape</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自己提出来的概念，当然自己会实现一套了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">netscape</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的技术蛮优秀的，不过我没用过他们的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl-toolkit.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">甚至连名字都没搞清楚。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    1995</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">年，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">eric.young</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开始开发</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那时候叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssleay.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一直到现在，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还在不停的修改和新版本的发行之中。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">真够大的，我真佩服</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">eric</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的水平和兴趣。这些</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> open/free</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的斗士的精神是我写这个系列的主要动力，虽然写的挺烦的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />ps: eric</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在去了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司做，做了一个叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL-C</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">toolkit, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其实和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">差不多。估计应该比</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">稳定，区别是这个是要银子的，而且几乎所有低层的函数都不提供直接调用了。那多没意思。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">去</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">www.openssl.org down openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">吧，最新的是</span>
				<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /?>
				<st1:chsdate w:st="on" isrocdate="False" islunardate="False" day="30" month="12" year="1899">
						<span lang="EN-US" style="FONT-SIZE: 9pt">0.9.6</span>
				</st1:chsdate>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">安装是很简单的。我一直用的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sun sparc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的机器，所以用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sun sparc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的机器做例子。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    gunzip -d openssl.0.9.6.tar.gz <br />    tar -xf openssl.0.9.6.tar <br />    mv openssl.0.9.6 openssl <br />    cd openssl <br />    ./configure --prefix=XXXXX --openssldir=XXXXXXXX <br />    (</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这里</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">prefix</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是你想安装</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的地方，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> openssldir</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是你</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">tar</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">开的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">源码的地方。好象所有的出名点的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">free software</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是这个操行，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">configure, make , make test, make install, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">搞定。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    ./make(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果机器慢，这一步的时候可以去洗个澡，换套衣服</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    ./make test <br />    ./make install <br />    OK, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果路上没有什么问题的话，搞定。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">经常有人报</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bug, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">hp-ux, sgi</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上装</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">出问题，我没试过，没发言权。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">现在可以开始玩</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">注意：</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我估计</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">最开始是在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">linux</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下开发的。大家可以看一看在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">linxu</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下有这么一个文件：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">/dev/urandom, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sparc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下没有。这个文件有什么用？你可以随时找它要一个随机数。在加密算法产生</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候，我们需要一颗种子：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">seed</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">seed</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是找</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> /dev/urandom</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要的那个随机数。那么在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sparc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下，由于没有这么一个设备，很多</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的函数会报错：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /?><v:shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></v:path><o:lock aspectratio="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_i1025" style="WIDTH: 15pt; HEIGHT: 15pt" alt="" type="#_x0000_t75"><v:imagedata o:href="http://bbs.chinaunix.net/images/smilies/titter.gif" src="file:///D:\DOCUME~1\EX_ZHA~1\LOCALS~1\Temp\msohtml1\01\clip_image001.gif"></v:imagedata></v:shape>RNG not seeded". </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">解决方法是：在你的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">~/.profile</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">里面添加一个变量</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">$RANDFILE</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">设置如下：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    $RANDFILE=$HOME/.rnd <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">$HOME</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">vi .rnd, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">随便往里面乱输入一些字符，起码俩行。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很多</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的函数都会把这个文件当</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">seed, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">除了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl rsa, </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">希望</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">尽快修改这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">bug. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">toolkit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编程，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">则有其他不太安全的解决方法。以后讲到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编程的章节会详细介绍。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先生成自己的私有密钥文件，比如叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.key <br />    openssl genrsa -des3 -out server.key 1024 <br />    genras</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示生成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">私有密钥文件，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">-des3</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">表示用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES3</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密该文件，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1024</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是我们的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的长度。一般用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">512</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就可以了，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">784</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可用于商业行为了，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1024</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以用于军事用途了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">当然，这是基于现在的计算机的速度而言，可能没过几年</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1024</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是用于开发测试，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">2048</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用于一般用途了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候会要你输入一个密码，这个密钥用来保护你的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件，这样即使人家偷走你的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件，也打不开，拿不到你的私有密钥。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -noout -text -in server.key <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以用来看看这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件里面到底有些什么东西</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过还是看不懂</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">) <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果你觉得</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的保护密码太麻烦想去掉的话：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl rsa -in server.key -out server.key.unsecure <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过不推荐这么做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">下一步要得到证书了。得到证书之前我们要生成一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Certificate Signing Request. <br />    CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">只对</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CSR</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进行处理。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl req -new -key server.key -out server.csr <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CSR</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的时候屏幕上将有提示</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">依照其指示一步一步输入要求的信息即可</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">. <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">生成的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">csr</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件交给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">签名后形成服务端自己的证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">怎么交给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">签名？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自己去</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">www.verisign.com</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">慢慢看吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果是自己玩下，那么自己来做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">有很简单的方法做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但一般只好在开发的时候或者自己玩的时候用，真的做出产品，还是使用正规的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">签发给你的证书吧</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">在你</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">make install</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之后，会发现有个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">misc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的目录，进去，运行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA.sh -newca</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，他会找你要</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">需要的一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">自己的私有密钥密码文件。没有这个文件？按回车创建，输入密码来保护这个密码文件。之后会要你的一个公司信息</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA.crt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件。最后在当前目录下多了一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">./demoCA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样的目录</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">../demoCA/private/cakey.pem</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">件啦，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    ./demoCA/cacert.pem</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">crt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件了。把自己创建出来的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.crt</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">文件</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">copy</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">misc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目录下，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">mv</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">newreq.pem,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后执行</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">CA.sh -sign, ok, <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">得到回来的证书我们命名为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.crt. <br />    <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">看看我们的证书里面有些什么吧</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl x509 -noout -text -in server.crt <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">玩是玩过了，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的指令繁多，就象天上的星星。慢慢一个一个解释吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75631.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:24 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_5.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（四）－－协议</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_4.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:22:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_4.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75629.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_4.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75629.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL(SecureSocketLayer)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">netscape</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公司提出的主要用于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">web</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的安全通信标准</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">分为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">2.0</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">3.0</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">版</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.TLS (TransportLayerSecurity)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">IETF</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TLS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工作组在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL3.0</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">基础之上提出的安全通信标准</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">目前版本是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1.0,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">即</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> RFC2246.SSL/TLS</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">提供的安全机制可以保证应用层数据在互联网络传输不被监听</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">伪造和窜改</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.<br /><br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般情况下的网络协议应用中，数据在机器中经过简单的由上到下的几次包装，就进入网络，如果这些包被截获的话，那么可以很容易的根据网络协议得到里面的数据</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">由网络监听工具可以很容易的做到这一点。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是为了加密这些数据而产生的协议，可以这么理解，它是位与应用层和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TCP/IP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之间的一层，数据经过它流出的时候被加密，再往</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TCP/IP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送，而数据从</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">TCP/IP</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">流入之后先进入它这一层被解密，同时它也能够验证网络连接俩端的身份。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它的主要功能就是俩个：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一：加密解密在网络中传输的数据包</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">同时保护这些数据不被修改</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和伪造。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">二：验证网络对话中双方的身份</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议包含俩个子协议，一个是包协议，一个是握手协议。包协议是说明</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的数据包应该如何封装的。握手协议则是说明通信双方如何协商共同决定使用什么算法以及算法使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。很明显包协议位于握手协议更下一层。我们暂时对包协议的内容没有兴趣。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">握手过程说简单点就是：通信双方通过不对称加密算法来协商好一个对称加密算法以及使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后用这个算法加密以后所有的数据完成应用层协议的数据交换。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">握手一般都是由</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">发起的，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也不例外。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />1client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它自己本身使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">version(ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一共有三个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">version),</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法的一些配置，和一些随机产生的数据，以及其他在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议中需要用到的信息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />2server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它自己的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">version,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法的配置，随机产生的数据，还会用自己的私有密钥加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SERVER-HELLO</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">息。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">Server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还同时把自己的证书文件给送过去。同时有个可选的项目，就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">可以要求需要客户的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">certificate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />3client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送过来的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">certificate</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的身份。如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">身份验证没通过，本次通信结束。通过证书验证</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之后，得到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥，解开</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">送来的被其用私有密钥加密过的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SERVER-HELLO</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">信息，看看对头与否。如果不对，说明对方只有</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">该</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥而没有私有密钥，必是假的。通信告吹。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />4client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用到目前为止所有产生了的随机数据</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(sharedsecret),client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">产生本次握手中的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">premastersecret(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个步</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">骤是有可能有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的参与的，由他们使用的加密算法决定</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">),</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">并且把这个用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥加密，送回给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要求需</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要验证</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">那么</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也需要自己把自己的证书送过去，同时送一些自己签过名的数据过去。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议有俩种技术来产生</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sharedsecret(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">真不好意思，又是一个很难意译的词组</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">),<br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一种是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一种是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">EDH.<br /><br />RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就是我们上一章说过的一种不对称加密算法。首先</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把自己的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公共密钥送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client,client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">于是用这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密一个随机产生的值</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个随机产生的值就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sharedsecret)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，再把结果送给</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">server.<br /><br />EDH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也是一种不对称加密算法，但它与</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不同的是，它好象没有自己固定的公共密钥和私有密钥，都是在程序跑起来的时候产生的，用完就</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">K</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">掉。其他的步骤俩者就差不多了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />RSA,DSA,DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">三种不对称加密算法的区别也就在这里。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的密钥固定，后俩个需要一个参数来临时生成</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key.DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">甚至要求双方使用同样的参数，这个参数要事先指定。如果</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">库没有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">load</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">进这个参数，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">算法就没办法用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DSA</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没研究过。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />5Server</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">验证完</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">client</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的身份之后，然后用自己的私有密钥解密得到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">premastersecret</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">然后双方利用这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">premastersecret</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来共同协商，得到</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">mastersecret.<br /><br />6</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">双方用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">master</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一起产生真正的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sessionkey,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">着就是他们在剩下的过程中的对称加密的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了。这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还可以用来验证数据完整性。双方再交换结束信息。握手结束。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接下来双方就可以用协商好的算法和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来用对称加密算法继续下面的过程了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很简单吧？其实要复杂一些的，我简化了很多来说。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不过还是有个问题，喜欢捣蛋的人虽然看不懂他们在交流些什么，但篡改总可以吧？</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">记得我们在加密算法里面介绍过的哈希算法吗？就是为了对付这种捣蛋者的。在每次送信息的时候，附带把整条信息的哈希值也送过去，接收方收到信息的时候，也</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">把收到的内容哈希一把，然后和对方送来的哈希值对比一下，看看是否正确。捣蛋者如果乱改通信内容，哈希出来的值是不同的，那么就很容易被发现了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">但这样子，捣蛋者至少可以学舌。他可以把之前监听到的内容重复发给某一方，而这些内容肯定是正确的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">无法验证出有问题的。哎，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是怎么对付这种人的我还没看出来。有篇文章说：多放点随机数在信息里可以对付，我也没去研究这句话是什么意思。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:22 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_4.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二）－－加密算法</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_3.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:21:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_3.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75628.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_3.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75628.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75628.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<b>
						<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法</span>
				</b>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一加密算法的一些常识</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">要理解</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先要知道一些加密算法的常识</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">.<br /><br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法很容易理解啦，就是把明文变成人家看不懂的东西，然后送给自己想要的送到的地方，接收方用配套的解密算法又把密文解开成明文，这样就不怕在路世上如果密文给人家截获而泄密。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法有俩大类，第一种是不基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，举个简单的例子，我要加密</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">"fordesign"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这么一串字符，就把每个字符都变成它的后一个字符，那么就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt"> "gpseftjhm"</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">了，这样的东西人家当然看不明白，接收方用相反的方法就可以得到原文。当然这只是个例子，现在应该没人用这么搞笑的加密算法了吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的加密算法好象一直用到了计算机出现。我记得古中国军事机密都是用这种方式加密的。打战的时候好象军队那些电报员也要带着密码本，也应该是用这种方式加密的。这种算法的安全性以保持算法的保密为前提。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这种加密算法的缺点太明显了，就是一旦你的加密算法给人家知道，就肯定挂。日本中途岛惨败好象就是密码给老米破了。设计一种算法是很麻烦的，一旦给人破了就没用了，这也忑浪费。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我们现在使用的加密算法一般是基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的，也就是说在加密过程中需要一个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">用这个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来对明文进行加密。这样的算法即使一次被破，下次改个</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还可以继续用。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是一个什么东西呢？随便你，可以是一个随机产生的数字，或者一个单词，啥都行，只要你用的算法认为你选来做</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的那玩意合法就行。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这样的算法最重要的是：其安全性取决于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般来说取决于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的长度。也就是说应该保证人家在知道这个算法而不知道</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的情况下，破解也相当困</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">难。其实现在常用的基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的加密算法在网络上都可以找到，很多革命同志</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">(</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都是老外</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">)</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">都在想办法破解基于</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的加密算法又包括俩类：对称加密和不对称</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密。对称加密指的是双方使用完全相同的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">key</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">，最常见的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">DES.DES3,RC4</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等。对称加密算法的原理很容易理解，通信一方用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEK</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密明文，另一</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">方收到之后用同样的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">来解密就可以得到明文。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不对称加密指双方用不同的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密和解密明文，通信双方都要有自己的公共密钥和私有密钥。举个例子比较容易理解，我们们假设通信双方分别是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">A,B.<br />A,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拥有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_A1,KEY_A2,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其中</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_A1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">A</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_A2</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">A</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />B,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">拥有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_B1,KEY_B2,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">其中</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_B1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">B</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的私有密钥，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_B2</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">B</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的公共密钥。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">公共密钥和私有密钥的特点是，经过其中任何一把加密过的明文，只能用另外一把才能够解开。也就是说经过</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_A1</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密过的明文，只有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">KEY_A2</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">才能够解密，反之亦然。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">通信过程如下：</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />A--------&gt;;KEY_A2------------&gt;;B<br />A&lt;--------KEY_B2&lt;------------A<br /><br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">这个过程叫做公共密钥交换，老外管这叫</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">keyexchange.</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">之后</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">A</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">B</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就分别用对方的公共密钥加密，用自己的私有密钥解密。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">一般公共密钥是要发布出去的，然后你通过自己的私有密钥加密明文，人家用你的公共密钥解密，如果能解开，那么说明你是加密人，这就是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">使用的验证机制。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">常用的不对称加密一般有</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA,DSA,DH</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">等。我们一般使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">RSA.<br /><br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">数字签名也是不对称加密算法的一个重要应用，理解它对于理解</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">很重要的，放在这里一起介绍一下。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">签名是什么大家都很熟悉吧？证明该东西是你写的，是你发布的，你就用签名搞定。看看那些重要文件都要头头签名。数字签名就是数字化的签名了。记得公用密钥</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和私有密钥的特征吗？只有你一个人有你自己的私有密钥。而你的公用密钥是其他人都知道的了。那么你在写完一封邮件之后，用自己的私有密钥加密自己的名字，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">接收人用你的公共密钥解开一看，哦，是你发的。这就是你的数字签名过程了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">上面的解释是很简化的了，其实数字签名比这个复杂多了，但我们没有了解的必要，知道数字签名是这么一回事就可以了。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">还有一种我们需要知道的加密算法，其实我不觉得那是加密算法，应该叫哈希算法，英文是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">messagedigest,</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是用来把任何长度的一串明文以一定规则变成固定长度的一串字符串。它在</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">中的作用也很重要，以后会慢慢提及的。一般使用的是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">MD5,SHA.<br /><br />base64</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不是加密算法，但也是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">经常使用的一种算法，它是编码方式，用来把</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">asc</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">码和二进制码转来转去的。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">具体的加密解密过程我们不需要了解，因为</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">根本不关心。但了解加密算法的一些基本原理是必要的，否则很难理解</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">SSL</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">对加密算法的细节有兴趣的同志，可以去网络上找这些加密算法的原理的文章和实现的程序来研究，不过先学数论吧。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75628.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:21 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_3.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（二）－－证书</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_2.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:20:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_2.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75627.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_2.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75627.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75627.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 一.     														证书																												证书就是数字化的文件，里面有一个实体		(		网站，个人等		)		的公共密钥和其他的属性，如名称等。该公共密钥只属于某一个特定的实体，它的作用是防止一个实体假装成另外一个实体。														证书用来保证不对...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhhp1314520/articles/openssl_2.html'>阅读全文</a><img src ="http://www.blogjava.net/zhhp1314520/aggbug/75627.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:20 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_2.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>openssl简介（一）－－前言</title><link>http://www.blogjava.net/zhhp1314520/articles/openssl_1.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Tue, 17 Oct 2006 07:18:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/openssl_1.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/75625.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/openssl_1.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/75625.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/75625.html</trackback:ping><description><![CDATA[
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
						<o:p> </o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt 18pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1; tab-stops: list 18.0pt">
				<span lang="EN-US" style="FONT-SIZE: 9pt; mso-bidi-font-family: 宋体">
						<span style="mso-list: Ignore">一.<span style="FONT: 7pt 'Times New Roman'">     </span></span>
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">前言</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<o:p>
						</o:p>
				</span>
		</p>
		<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt; TEXT-INDENT: 18pt">
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">不久前接到有关</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的活，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">结果找遍中文网站资料实在奇缺。感觉是好象现在国内做这个技术的人不多所有有兴趣写点东西来介绍一下。</span>
				<span style="FONT-SIZE: 9pt">
						<span lang="EN-US">  <br />    </span>
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">我使用的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">toolkit</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">是</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">就用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">做例子来讲解</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />    openssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">实在太大了，指令也多，</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">API</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">也多，更严重的是</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">它的</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">API</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">没有说明。我打算漫漫说清楚其主要指令的用法，主要</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">API</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的中文说明，以及使用</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">/</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">编程的方法。</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">     <br />    </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">工作量很大，因为我接触它也没几个月，现在大概</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">完成了</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">1/10</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">吧，</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">先把目前自己的一些心得，找到的资料</span>
				<span style="FONT-SIZE: 9pt">
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">和一些翻译出来的东西贴出来，希望对研究</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ssl</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">的人有帮助</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">证书</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">加密算法</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">
						<br />
				</span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">协议</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">入门</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">verify  <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">asn1parse        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">ca            <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">cipher    <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">dgst  <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">dhparam      <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">enc    <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">gendsa  <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">genrsa   <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">passwd  </span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">pkcs7   <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">rand   <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">req  <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">rsa        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">rsautl        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">s_client<br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">s_server        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">sess_id        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">speed        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">version        <br /></span>
				<span style="FONT-SIZE: 9pt; FONT-FAMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">指令</span>
				<span lang="EN-US" style="FONT-SIZE: 9pt">x509</span>
		</p>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/75625.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-17 15:18 <a href="http://www.blogjava.net/zhhp1314520/articles/openssl_1.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Java安全快速入门</title><link>http://www.blogjava.net/zhhp1314520/articles/java_security_all.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Wed, 11 Oct 2006 03:02:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/java_security_all.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/74502.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/java_security_all.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/74502.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/74502.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: Java安全快速入门		     我写这篇blog的目的主要是为了下一篇blog，有关XML Encryption做好准备的，这篇文章主要谈一下，密码学中的加密和数字签名，以及其在java中如何进行使用。对密码学有兴趣的伙伴，推荐看Bruce Schneier的著作：Applied Crypotography。在jdk1.5的发行版本中安全性方面有了很大的改进，也提供了对RSA算法的直接支持，...&nbsp;&nbsp;<a href='http://www.blogjava.net/zhhp1314520/articles/java_security_all.html'>阅读全文</a><img src ="http://www.blogjava.net/zhhp1314520/aggbug/74502.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-11 11:02 <a href="http://www.blogjava.net/zhhp1314520/articles/java_security_all.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>JAVA的AES加密步骤解释</title><link>http://www.blogjava.net/zhhp1314520/articles/java_security_AES.html</link><dc:creator>捕风</dc:creator><author>捕风</author><pubDate>Wed, 11 Oct 2006 02:58:00 GMT</pubDate><guid>http://www.blogjava.net/zhhp1314520/articles/java_security_AES.html</guid><wfw:comment>http://www.blogjava.net/zhhp1314520/comments/74501.html</wfw:comment><comments>http://www.blogjava.net/zhhp1314520/articles/java_security_AES.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/zhhp1314520/comments/commentRss/74501.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/zhhp1314520/services/trackbacks/74501.html</trackback:ping><description><![CDATA[
		<div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee">
				<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				<span style="COLOR: #000000">KeyGenerator kg </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> KeyGenerator.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">AES</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">获取密匙生成器</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">kg.init(</span>
				<span style="COLOR: #000000">256</span>
				<span style="COLOR: #000000">); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">初始化<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">DES算法必须是56位<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">DESede算法可以是112位或168位<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">AES算法可以是128、192、256位</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">SecretKey key </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> kg.generateKey(); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">生成密匙，可用多种方法来保存密匙</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />加密：<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />Cipher cp </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Cipher.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">AES</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">创建密码器</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">cp.init(Cipher.ENCRYPT_MODE, key); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">初始化</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">String str </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">我是需要被加密的明文</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">;<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] ptext </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> str.getBytes(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">UTF8</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">);<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] ctext </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> cp.doFinal(ptext); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">加密<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">可用多种方式保存</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />解密：<br /><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />Cipher cp </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> Cipher.getInstance(</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">AES</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">创建密码器</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">cp.init(Cipher.DECRYPT_MODE, key); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">初始化</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #0000ff">byte</span>
				<span style="COLOR: #000000"> [] ptext </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> cp.doFinal(ctext); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">解密</span>
				<span style="COLOR: #008000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />
				</span>
				<span style="COLOR: #000000">
						<br />
						<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />String str </span>
				<span style="COLOR: #000000">=</span>
				<span style="COLOR: #000000"> </span>
				<span style="COLOR: #0000ff">new</span>
				<span style="COLOR: #000000"> String(ptext, </span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">UTF8</span>
				<span style="COLOR: #000000">"</span>
				<span style="COLOR: #000000">); </span>
				<span style="COLOR: #008000">//</span>
				<span style="COLOR: #008000">重新显示明文</span>
		</div>
<img src ="http://www.blogjava.net/zhhp1314520/aggbug/74501.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/zhhp1314520/" target="_blank">捕风</a> 2006-10-11 10:58 <a href="http://www.blogjava.net/zhhp1314520/articles/java_security_AES.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>