原理就不多说了看下边JDK目录为 C:\Program Files\Java\jdk1.6.0_14\bincmd 到jdk目录 输入以下命令(具体参数意思,可以参看帮助) 1.创建服务器端证书文件keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit (命令行会提示一下内容)您的名字与姓氏是什么?
  [Unknown]:  localhost
您的组织单位名称是什么?
  [Unknown]:  thinkIt.com
您的组织名称是什么?
  [Unknown]:  thinkIt
您所在的城市或区域名称是什么?
  [Unknown]:  CQ
您所在的州或省份名称是什么?
  [Unknown]:  CQ
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=CQ, C=cn 正确吗?
  [否]:  y(以上信息自己随便输入) 2.创建客户端证书文件keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit 您的名字与姓氏是什么?
  [Unknown]:  localhost
您的组织单位名称是什么?
  [Unknown]:  thinkIt.com
您的组织名称是什么?
  [Unknown]:  thinkIt
您所在的城市或区域名称是什么?
  [Unknown]:  CQ
您所在的州或省份名称是什么?
  [Unknown]:  CQ
该单位的两字母国家代码是什么
  [Unknown]:  cn
CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=CQ, C=cn 正确吗?
  [否]:  y 继续命令keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore
保存在文件中的认证 <server.cer>keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore
保存在文件中的认证 <client.cer>
 添加认证keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
所有者:CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=CQ, C=cn
签发人:CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=CQ, C=cn
序列号:4a48e472
有效期: Mon Jun 29 23:57:38 CST 2009 至Sun Sep 27 23:57:38 CST 2009
证书指纹:
         MD5:84:0D:D9:A8:68:6C:F4:B4:48:77:B5:15:6D:61:91:EA
         SHA1:EE:AC:1F:E4:7C:13:81:DF:5B:E3:09:AD:A7:A7:94:FD:C6:D3:DE:68
         签名算法名称:SHA1withRSA
         版本: 3
信任这个认证? [否]:  y
认证已添加至keystore中
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
所有者:CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=bj, C=cn
签发人:CN=localhost, OU=thinkIt.com, O=thinkIt, L=CQ, ST=bj, C=cn
序列号:4a48e4a2
有效期: Mon Jun 29 23:58:26 CST 2009 至Sun Sep 27 23:58:26 CST 2009
证书指纹:
         MD5:01:55:2D:F6:5B:5A:23:DB:8B:AE:31:CA:76:05:CF:35
         SHA1:39:0B:6D:AE:BD:A8:7C:56:49:90:EB:2B:AF:B4:17:C6:E1:CB:D0:F5
         签名算法名称:SHA1withRSA
         版本: 3
信任这个认证? [否]:  y
认证已添加至keystore中
 将生成的cacerts文件copy到<%JAVA_HOME%>\jre\lib\security目录下  配置Tomcat  打开(Tomcat目录)\config\server.xml 找到<Connector port=”8443” ... />节点。默认该节点是被注释掉的,去掉注释,并修改内容为:<Connector protocol="org.apache.coyote.http11.Http11Protocol"
        port="8443" maxHttpHeaderSize="8192"
        maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
        enableLookups="false" disableUploadTimeout="true"
        acceptCount="100" scheme="https" secure="true"
        clientAuth="false" sslProtocol="TLS"
        keystorePass="密码" keystoreFile="/root/tomcat/server.keystore" />
原有的代码段加上: keystorePass="password" keystoreFile="tomcat/server.keystore"(这个文件目录需要自己手动创建并添加该文件)测试 访问:Https://localhost:8443/ 如果能出现Tomcat管理首页,则证明SSL配置成功  可是失败

解决方案 »

  1.   

    是不是还少了个truststorefile="d:/path/bin/x509/root.jks"    
    truststoretype="JKS" truststorepass="123456"
    我当时貌似是参照下面的方法做的。。时间久了 确实想不起来了
    http://blog.csdn.net/TechChan/article/details/5484253
      

  2.   

       <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
                   port="443" minProcessors="5" maxProcessors="75"
                   enableLookups="true"
           acceptCount="100" debug="0" scheme="https" secure="true"
                   useURIValidationHack="false" disableUploadTimeout="true">
          <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
    keystoreFile="C:/Program Files/Apache Group/Tomcat 4.1/conf/server_keystore" 
                   keystorePass="11111111"
                   clientAuth="true" protocol="TLS" />
        </Connector>
        
      

  3.   

    Https://localhost:8443/   这个你多写了一个s   应写成Http://localhost:8443/ 你的问题的是启动不了Tomcat吗? 写成这样就行了Http://localhost:8080/
      

  4.   

    你的是Tomcat多少版本的?   5.x默认是8080   6.x默认是8085  不同的版本端口不同
      

  5.   

    truststorefile="d:/path/bin/x509/root.jks"