<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_walk along at the far from top</title><subtitle type="text">沙尘里的世界</subtitle><id>http://feed.cnblogs.com/blog/u/27258/rss</id><updated>2010-12-07T09:14:42Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/27258/rss"/><entry><id>http://www.cnblogs.com/leeshd/archive/2010/11/11/1874828.html</id><title type="text">.net 开发oracle 免客户端程序</title><summary type="text">如果程序要被大量部署，每次都要安装oracle客户端会非常麻烦。用odp.net开发就可以免去安装客户端。odp.net 依赖的基本dll如下：Oracle.DataAccess.dll,oci.dll,orannzsbb11.dll,oraociei11.dll,OraOps11w.dll如何提取这些文件（以oracle11g为例）首先安装 11g客户端管理员（运行时应该也可以），再安装（instance client）文件名 目录Oracle.DataAccess.dll (管理员安装目录)\odp.net\oci.dll (管理员安装目录)\bin\ orannzsbb11.dll (管</summary><published>2010-11-11T05:54:00Z</published><updated>2010-11-11T05:54:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874828.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874828.html"/><content type="html">&lt;p&gt;如果程序要被大量部署，每次都要安装oracle客户端会非常麻烦。用odp.net开发就可以免去安装客户端。&lt;br /&gt;odp.net 依赖的基本dll如下：&lt;br /&gt;Oracle.DataAccess.dll,oci.dll,orannzsbb11.dll,oraociei11.dll,OraOps11w.dll&lt;br /&gt;如何提取这些文件（以oracle11g为例）&lt;br /&gt;首先安装 11g客户端管理员（运行时应该也可以），再安装（instance client）&lt;br /&gt;文件名&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 目录&lt;br /&gt;Oracle.DataAccess.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (管理员安装目录)\odp.net\&lt;br /&gt;oci.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (管理员安装目录)\bin\ &lt;br /&gt;orannzsbb11.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (管理员安装目录)\bin\&lt;br /&gt;oraops11w.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (管理员安装目录)\bin\&lt;br /&gt;oraociei11.dll&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (instance client安装目录)\bin\&lt;br /&gt;如何让你的程序能够同时支持64位&lt;br /&gt;1.32位 和 64位的oracle客户端版本要一致，这样可以确保上面提到的5个dll版本是一致的，&lt;br /&gt;&amp;nbsp;&amp;nbsp; 尤其是32位和64位的Oracle.DataAccess.dll 的publickeytoken必须是一样的。&lt;br /&gt;2.如果开发的时候引用的是32位程序集，编译64位的程序时要在config文件中添加程序集依赖&lt;br /&gt;&amp;nbsp; &amp;lt;runtime&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;dependentAssembly&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;assemblyIdentity name="Oracle.DataAccess"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; publicKeyToken="89B483F429C47342"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; culture="neutral" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;bindingRedirect&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oldVersion="2.112.1.1"&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newVersion="2.112.1.0"/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/dependentAssembly&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/assemblyBinding&amp;gt;&lt;br /&gt;&amp;nbsp; &amp;lt;/runtime&amp;gt;&lt;/p&gt;&#xD;
&lt;p&gt;------------------------------------------------------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;最近在部署的时候发现以上方法并不能成功的脱离Oracle客户端，在此向诸位读过此文从而产生误导的朋友表示真诚的道歉。&lt;/p&gt;&#xD;
&lt;p&gt;------------------------------------------------------------------------------&lt;/p&gt;&#xD;
&lt;p&gt;通过reflector反编译Oracle.DataAccess，查看进程依赖的dll，几经周折发现以上dll 还与如下几个文件关联：&lt;/p&gt;&#xD;
&lt;p&gt;msvcr80.dll，msvcp80.dll，msvcm80.dll，&lt;/p&gt;&#xD;
&lt;p&gt;Microsoft.VC80.ATL.manifest，Microsoft.VC80.CRT.manifest，Microsoft.VC80.ATL.manifest&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;还有一个疑问：在reflector中选择 MC++ 可以看到的 Oracle.DataAccess&amp;nbsp;源代码，可是导出后发现 类 没有具体的实现，包括用C#写的程序集 导出c++后文件里的类也是空的，不明原理，求知情者解答。&lt;/p&gt;&#xD;
&lt;div &gt;&lt;img  src="http://img.zemanta.com/pixy.gif?x-id=b680f874-cbfe-8166-8f50-9faa4523745b" alt="" /&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/leeshd/aggbug/1874828.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874828.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2010/11/11/1874811.html</id><title type="text">64位程序打包</title><summary type="text">最近有个项目需要部署在64位的机器上，折腾了两天终于弄明白了。1.项目属性中的目标平台需要选择 x642.安装包项目属性中的目标平台(tagetPlatform)要需要选择 x643.如果要添加第三方的dll也要选择x64下的dll</summary><published>2010-11-11T05:36:00Z</published><updated>2010-11-11T05:36:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874811.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874811.html"/><content type="html">&lt;p&gt;最近有个项目需要部署在64位的机器上，折腾了两天终于弄明白了。&lt;br /&gt;1.项目属性中的目标平台需要选择 x64&lt;br /&gt;2.安装包项目属性中的目标平台(tagetPlatform)要需要选择 x64&lt;br /&gt;3.如果要添加第三方的dll也要选择x64下的dll&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&#xD;
&lt;div &gt;&lt;img  src="http://img.zemanta.com/pixy.gif?x-id=b8956159-b12b-875f-861f-d0c1491a6700" alt="" /&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/leeshd/aggbug/1874811.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/leeshd/archive/2010/11/11/1874811.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2010/03/19/1689126.html</id><title type="text">如何配置tomcat证书</title><summary type="text">前言 项目需要在tomcat中配置ssl认证，学习了一下怎么配置，由于对pki认证体系、证书的制作和发放过程不了解，整个配置过程坎坷，所以配置成功后立即记录下来希望以后遇到类似的情况有所参考。 本文讲述了如何使用 openssl 制作证书、keytool生成证书申请并将证书导入证书库、如何配置tomcat，和配置当中出现问题的解释。 本文用到的工具：OpenSSL.rar(点击下载) keytoo...</summary><published>2010-03-19T06:56:00Z</published><updated>2010-03-19T06:56:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2010/03/19/1689126.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2010/03/19/1689126.html"/><content type="html">&lt;p&gt;&lt;strong&gt;前言&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 项目需要在tomcat中配置ssl认证，学习了一下怎么配置，由于对pki认证体系、证书的制作和发放过程不了解，整个配置过程坎坷，所以配置成功后立即记录下来希望以后遇到类似的情况有所参考。&lt;br /&gt;&#xD;
    本文讲述了如何使用 openssl 制作证书、keytool生成证书申请并将证书导入证书库、如何配置tomcat，和配置当中出现问题的解释。&#xD;
    &lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;本文用到的工具：&lt;a title=" OpenSSL.rar" href="http://files.cnblogs.com/leeshd/OpenSSL.rar" target="_blank"&gt;OpenSSL.rar&lt;/a&gt;(点击下载)&amp;nbsp; keytool(JDK中自带的工具)&#xD;
&lt;/blockquote&gt;&#xD;
&lt;br /&gt;&#xD;
&lt;p&gt;&lt;strong&gt;使用 openssl 生成根证书生成&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;1.解压openssl.rar 到 c:\openssl 下，在命令行中将目录转到 c:\openssl\bin&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;2. 生成根证书的私钥，生成文件cakey.pem&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openssl genrsa -out cakey.pem 1024&lt;br /&gt;&#xD;
    &lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl.JPG" border="0" width="420" height="106" /&gt;&#xD;
    &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        3.根据私钥生成证书申请，生成文件careq.csr&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openssl req -new -out careq.csr -key cakey.pem&lt;br /&gt;&#xD;
        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl1.JPG" border="0" width="643" height="139" /&gt;&#xD;
            &lt;br /&gt;&#xD;
        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;在生成申请时需要填入相关的信息，根据部署的地点不同做相应的改变&lt;br /&gt;&#xD;
        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl2.JPG" border="0" width="639" height="196" /&gt;&#xD;
    &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;4. 利用根证书申请生成自签名根证书，生成文件cacert.pem&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days 3650&#xD;
        &lt;br /&gt;&#xD;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl3.JPG" border="0" /&gt;&#xD;
        &lt;br /&gt;&#xD;
         &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;至此根证书制作完毕，为了方便起见，在 openssl.rar\bin\ 中已经包含 &lt;span style="color: #ff0000;"&gt;生成根证书.bat &lt;/span&gt;&#xD;
        &lt;span style="color: #000000;"&gt;点击执行即可。&lt;/span&gt;&#xD;
    &lt;/blockquote&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&#xD;
    生成tomcat证书库文件和证书申请&#xD;
&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;1.生成证书库文件 tomcatkey.jks&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
 &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;keytool -genkey -alias &lt;span style="color: #ff0000;"&gt; tomcat_server &lt;/span&gt;&#xD;
 -keyalg RSA -keysize 1024 -validity "1825" -keypass  &#xD;
&lt;span style="color: #ff0000;"&gt;123456&lt;/span&gt;  -keystore&#xD;
&lt;span style="color: #ff0000;"&gt;tomcatkey.jks&lt;/span&gt; &#xD;
    -storepass  &lt;span style="color: #ff0000;"&gt;123456&lt;/span&gt;&#xD;
&lt;br /&gt;&#xD;
     &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: #ff0000;"&gt;红色部分&lt;/span&gt; 可以根据具体的部署情况做相应的改变&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -alias 证书库文件中私钥的别名&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -keypass 证书库文件私钥的密码&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -keystore 证书库文件的存储路径&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; -storepass 证书库文件的密码&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 执行后需要填写相应的信息&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl4.JPG" border="0" width="639" height="268" /&gt;&#xD;
&lt;br /&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 名称和姓氏 一定要填入服务器的域名或ip地址，否则部署之后会提示 &lt;span style="color: #ff0000;"&gt;证书地址不匹配&lt;/span&gt; 的错误&#xD;
&lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  剩余的部分必须和根证书填写一致。(不知道根证书的内容，可以双击根证书查看其内容) &#xD;
    &lt;br /&gt;&#xD;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;img alt="" src="http://images.cnblogs.com/cnblogs_com/leeshd/openssl5.JPG" border="0" width="410" height="438" /&gt;&#xD;
    &lt;br /&gt;&#xD;
    &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        2.根据证书库文件生成证书申请，生成文件 certreq.cer&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
       &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  keytool -certreq -alias tomcat_server -sigalg "MD5withRSA" -file certreq.cer -keypass&#xD;
        123456 -keystore tomcatkey.jks -storepass 123456&lt;br /&gt;&#xD;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot.png" alt="" /&gt; &#xD;
    &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        制作服务器证书并导入证书库&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        1.用根证书签名证书申请生成根证书，生成文件 tomcatcert.pem&lt;/strong&gt;&lt;/p&gt;&#xD;
        &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
    &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; openssl ca -keyfile cakey.pem -cert cacert.pem -in certreq.cer -out tomcatcert.pem&#xD;
    -config openssl.cnf -policy policy_anything&lt;br /&gt;&#xD;
        &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot-1.png" alt="" /&gt; &#xD;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   至此证书可能会失败，其原因是openssl证书数据库里已经存储了这个证书 &#xD;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot-2.png" alt="" /&gt; &#xD;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   解决办法是在目录 openssl\democa\index.txt 把里面的内容全部删除（当然这个做法带来的危险是已有的证书也会删除，如果有耐心可以找到那条记录把他删除）&lt;br /&gt;&#xD;
        重新执行上面的那条语句就可以了&lt;br /&gt;&#xD;
        &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot-3.png" alt="" /&gt; &#xD;
            &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        2.由于原有的格式都是pem格式，在导入证书库之前（即导入jks文件）需要转换成cer格式，生成文件 cacert.cer、tomcatcert.cer&lt;/strong&gt;&lt;/p&gt;&#xD;
        &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  openssl x509 -in cacert.pem -out cacert.cer&lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  openssl x509 -in tomcatcert.pem -out tomcatcert.cer&lt;br /&gt;&#xD;
    &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        3.将转换成功的cer文件导入证书库文件中&lt;/strong&gt;&lt;/p&gt;&#xD;
        &lt;blockquote style='border:2px solid #EFEFEF;color:#333333;padding:5px 10px;'&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  首先导入根证书&lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  keytool -keystore tomcatkey.jks -import -alias RootCA -file cacert.cer&lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot-4.png" alt="" /&gt;&lt;br /&gt;&#xD;
  &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;   然后再导入服务器证书&lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  keytool -keystore tomcatkey.jks -import -alias tomcat_server -file tomcatcert.cer&#xD;
    &lt;br /&gt;&#xD;
   &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &lt;img style="max-width: 800px;" src="http://images.cnblogs.com/cnblogs_com/leeshd/moz-screenshot-5.png" alt="" /&gt;&lt;br /&gt;&#xD;
        &lt;/blockquote&gt;&#xD;
    &lt;p&gt;&lt;strong&gt;&#xD;
        参考资料&lt;/strong&gt;&lt;/p&gt;&#xD;
    &lt;p&gt;&lt;a target="_blank" title="xp下使用Openssl来制作证书，在IIS中配置Https笔记" href="http://hi.baidu.com/gezhou/blog/item%20/5817d613d8f32e27dc540136.html"&gt;&#xD;
            xp下使用Openssl来制作证书，在IIS中配置Https笔记 &lt;/a&gt;&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&#xD;
        &lt;br /&gt;&#xD;
    &lt;/p&gt;&#xD;
    &lt;p&gt;&lt;a target="_blank" href="http://www.javaeye.com/topic/120780"&gt;主题：Tomcat6配置使用SSL双向认证&amp;lt;&#xD;
        /a&amp;gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;a target="_blank" href="http://www.javaeye.com/topic/120780"&gt;    &lt;/a&gt;&lt;p&gt;&lt;a target="_blank" href="http://www.javaeye.com/topic/120780"&gt;        &lt;/a&gt;&lt;a target="_blank" title="使用openssl的CA签发证书，签名applet" href="http://zeeeitch.javaeye.com/blog/605488"&gt;&#xD;
            使用openssl的CA签发证书，签名 applet&lt;/a&gt;&lt;br /&gt;&#xD;
    &lt;/p&gt;&lt;img src="http://www.cnblogs.com/leeshd/aggbug/1689126.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/leeshd/archive/2010/03/19/1689126.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2009/06/02/1494641.html</id><title type="text">oracle使用聚合函数实现 多行合并</title><summary type="text">COUNTRY CITY-------------------- --------------------中国 台北中国 香港中国 上海日本 东京日本 大阪COUNTRY CITY-------------------- --------------------中国 台北 香港 上海日本 东京 大阪select country,strcat(city) from t_city group by c...</summary><published>2009-06-02T07:40:00Z</published><updated>2009-06-02T07:40:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2009/06/02/1494641.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2009/06/02/1494641.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2009/03/03/1402428.html</id><title type="text">[收藏]INF文件--Windows时代强大的的批处理</title><summary type="text"/><published>2009-03-03T09:22:00Z</published><updated>2009-03-03T09:22:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2009/03/03/1402428.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2009/03/03/1402428.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2009/03/03/1402418.html</id><title type="text">驱动程序打包</title><summary type="text">通过INF文件安装的驱动可以用下面这条命令在程序中安装驱动：命令格式：RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection %WINDIR%\System32\rundll32.exe    setupapi, InstallHinfSection  SLABWdm.Install.NT  132   C:\win\slabbus.inf通过Rundll32 调用setupapi 的 installHinfSection 函数 SLABWdm.Install.NT INF文件中的配置节 一般是安装开始的入口点   该配置节中包括 文件拷贝  注册表信息</summary><published>2009-03-03T09:11:00Z</published><updated>2009-03-03T09:11:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2009/03/03/1402418.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2009/03/03/1402418.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2008/12/16/1355826.html</id><title type="text">Distributed Transaction Coordinator 服务因 3221229584 (0xC0001010) 服务性错误而停止</title><summary type="text"/><published>2008-12-16T03:08:00Z</published><updated>2008-12-16T03:08:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2008/12/16/1355826.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2008/12/16/1355826.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2008/12/12/1353965.html</id><title type="text">unicode 字符集表</title><summary type="text"/><published>2008-12-12T10:53:00Z</published><updated>2008-12-12T10:53:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2008/12/12/1353965.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2008/12/12/1353965.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2008/12/10/1351925.html</id><title type="text">Sybase与SQL server的异同</title><summary type="text"/><published>2008-12-10T06:31:00Z</published><updated>2008-12-10T06:31:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2008/12/10/1351925.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2008/12/10/1351925.html"/></entry><entry><id>http://www.cnblogs.com/leeshd/archive/2008/12/10/1351924.html</id><title type="text">如何解决调用Dll在子目录的问题</title><summary type="text"/><published>2008-12-10T06:30:00Z</published><updated>2008-12-10T06:30:00Z</updated><author><name>lexod</name><uri>http://www.cnblogs.com/leeshd/</uri></author><link rel="alternate" href="http://www.cnblogs.com/leeshd/archive/2008/12/10/1351924.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/leeshd/archive/2008/12/10/1351924.html"/></entry></feed>
