| 1. 生成服务器证书和配套的keystore 文件和cacerts文件 |
1) 产生keystore文件-----weblogic.jks |
点击开始->运行 输入cmd进入DOS环境,并进入keytool工具所在目录 |
本示例中是E:\tomcat\bin |
● 产生keystore文件的命令: |
Keytool –genkey –alias weblogic –keyalg RSA –keysize 512 –dname “C=CN,OU=SZCA,O=SZCA,L=SHENZHEN,S=GUANGDONG,CN=www.catest.com” –keypass 11111111 –keystore ./weblogic.jks –storepass 11111111 |
如下图: |

|
说明:keysize 512 ----Windows 2000 CA的证书默认的是512位。 |
2) 生成证书申请文件---certreq.pem |
● 生成certreq.pem的命令 |
Keytool –certreq –alias weblogic –sigalg “SHA1withRSA” –file ./certreq.pem –keypass 11111111 –keystore ./weblogic,jks –storepass 11111111 |
如下图: |

|
此时在keytool工具目录下,就产生了certreq.pem和weblogic.jks两个文件,将certreq.pem的后缀名改为.req。 |
4) 导入根证书及服务器证书 |
● 导入szca.cer入weblogic.jks命令: |
Keytool –import –alias testroot –trustcacerts –file ./szca.cer –keystore ./weblogic.jks –storepass 11111111 |
● 插入wserver.cer证书的命令: |
Keytool –import –trustcacerts –alias WebLogic –file ./wserver.cer –keypass 11111111 –keystore ./weblogic.jks –storepass 11111111 |
如下图: |

|
此时根证书和服务器证书已经全部添加至weblogic.jks中。 |
5) 生成cacerts文件 |
● 产生cacerts命令: |
Keytool –genkey –keystore “cacerts” –storepass 11111111 –keyalg RSA |
如下图: |

|
● 添加根证书到cacerts中的命令: |
Keytool –import –alias rootca –trustcacerts –file ./szca.cer –keystore ./cacerts –storepass 11111111 |
于是就得到了weblogic.jks 和cacerts两个文件! |
6) 配置Tomcat5.5的SSL通道 |
根据TOMCAT5.5的安装目录,找到server.xml文件,默认安装时,在C:\Program Files\Apache Software Foundation\Tomcat 5.5\conf目录下 |
修改<-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 --> |
<!-- |
<Connector port="8443" maxHttpHeaderSize="8192" |
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" |
enableLookups="false" disableUploadTimeout="true" |
acceptCount="100" scheme="https" secure="true" |
clientAuth="false" sslProtocol="TLS" /> |
--> |
修改为<Connector port="8443" maxHttpHeaderSize="8192" |
maxThreads="150" minSpareThreads="25" maxSpareThreads="75" |
enableLookups="false" disableUploadTimeout="true" |
acceptCount="100" scheme="https" secure="true" |
keystoreFile="E:\bea\jdk142_08\bin\weblogic.jks" |
keystorePass="11111111" |
keystoreType="JKS" |
truststoreFile="E:\bea\jdk142_08\bin\cacerts" |
truststorePass="11111111" |
truststoreType="JKS" |
clientAuth="true" sslProtocol="TLS" /> |
不需要客户端验证的时候,不需要truststoreFile="E:\bea\jdk142_08\bin\cacerts" |
truststorePass="11111111" |
truststoreType="JKS" |
且clientAuth=”false” |
需要强制验证的时候clientAuth=”true” |
需要验证客户端,但不需要强制的时候clientAuth=”want” |
修改好后,重起服务器,运行https://本地IP/8443 |
| |