Tomcat SSL

 

 

 

 

http://blog.sina.com.cn/s/blog_4890155d01009lew.html

 

1.生成CA证书。目前不使用第三方权威机构的CA来认证,自己充当CA的角色。

引用
1.创建私钥:C:/OpenSSL/apps>openssl genrsa -out root/root-key.pem 1024
   2.创建证书请求:C:/OpenSSL/apps>openssl req -new -config openssl.cnf -out root/root-req.csr -key root/root-key.pem
   3.自签署证书:C:/OpenSSL/apps>openssl x509 -req -in root/root-req.csr -out root/root-cert.pem -signkey
   root/root-key.pem -days 3650
   4.将证书导出成浏览器支持的.p12格式:C:/OpenSSL/apps>openssl pkcs12 -export -clcerts -in root/root-cert.pem -inkey
   root/root-key.pem -out root/root.p12


 2.生成server证书。

引用
1.创建私钥:C:/OpenSSL/apps>openssl genrsa -out server/server-key.pem 1024
   2.创建证书请求:C:/OpenSSL/apps>openssl req -new -config openssl.cnf -out server/server-req.csr -key server/server-key.pem
   3.自签署证书:C:/OpenSSL/apps>openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey
   server/server-key.pem -CA root/root-cert.pem -CAkey root/root-key.pem -CAcreateserial -days 3650
   4.将证书导出成浏览器支持的.p12格式:C:/OpenSSL/apps>openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey
   server/server-key.pem -out server/server.p12  


 3.生成client证书。

引用
1.创建私钥:C:/OpenSSL/apps>openssl genrsa -out client/client-key.pem 1024
   2.创建证书请求:C:/OpenSSL/apps>openssl req -new -config openssl.cnf -out client/client-req.csr -key client/client-key.pem
   3.自签署证书:C:/OpenSSL/apps>openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey
   client/client-key.pem -CA root/root-cert.pem -CAkey root/root-key.pem -CAcreateserial -days 3650
   4.将证书导出成浏览器支持的.p12格式:C:/OpenSSL/apps>openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey
   client/client-key.pem -out client/client.p12  


 4.根据root证书生成jks文件

引用
C:/OpenSSL/apps/root>keytool -import -v -trustcacerts -storepass password -alias root -file root-cert.pem -keystore root.jks


5.配置tomcat ssl,修改conf/server.xml。tomcat6中多了SSLEnabled="true"属性。
keystorefile, truststorefile设置为你正确的相关路径

引用


sslenabled="true" maxhttpheadersize="8192" maxthreads="150"
minsparethreads="25" maxsparethreads="75" enablelookups="false"
disableuploadtimeout="true" acceptcount="100" sslprotocol="TLS"
clientauth="true" keystorefile="d:/path/bin/x509/server.p12"
keystoretype="PKCS12" keystorepass="123456" truststorefile="d:/path/bin/x509/root.jks"
truststoretype="JKS" truststorepass="123456"/>



6.将root.p12,client.p12分别导入到IE中去(打开IE->;Internet选项->内容->证书)。

root.p12导入至 受信任的根证书颁发机构,client.p12导入至 个人

 7.访问你的应用http://ip:8443,如果配置正确的话会出现请求你数字证书的对话框。

 8.在jsp中取得符合x.509格式的证书

 

 

 

 

 

 

 

××××××××××××××××××××××××××××××××××××××××××××××××

 

C:/OpenSSL/apps>openssl genrsa -out D:/root-key.pem 1024

 

 

openssl req -new -config openssl.cnf -out D:/root-req.csr -key D:/root-key.pem

 

 

openssl x509 -req -in D:/root-req.csr -out D:/root-cert.pem -signkey D:/root-key.pem -days 3650

 

 

openssl pkcs12 -export -clcerts -in D:/root-cert.pem -inkey D:/root-key.pem -out D:/root.p12

 

 

 

-----------------

openssl genrsa -out D:/server/server-key.pem 1024

 

 

openssl req -new -config openssl.cnf -out D:/server/server-req.csr -key D:/server/server-key.pem

 

openssl x509 -req -in D:/server/server-req.csr -out D:/server/server-cert.pem -signkey D:/server/server-key.pem -CA D:/root-cert.pem -CAkey D:/root-key.pem -CAcreateserial -days 3650

 

 

openssl pkcs12 -export -clcerts -in D:/server/server-cert.pem -inkey D:/server/server-key.pem -out D:/server/server.p12

 

 

--------------- 3.生成client证书。

 

 

openssl genrsa -out D:/client/client-key.pem 1024

 

 

openssl req -new -config openssl.cnf -out D:/client/client-req.csr -key D:/client/client-key.pem

 

 

openssl x509 -req -in D:/client/client-req.csr -out D:/client/client-cert.pem -signkey D:/client/client-key.pem -CA D:/root-cert.pem -CAkey D:/root-key.pem -CAcreateserial -days 3650

 

openssl pkcs12 -export -clcerts -in D:/client/client-cert.pem -inkey D:/client/client-key.pem -out D:/client/client.p12

 

 

--------------- 

 4.根据root证书生成jks文件

 

keytool -import -v -trustcacerts -storepass 123456 -alias D:/root.p12 -file D:/root-cert.pem -keystore D:/root.jks

 

 

 

 

 

××××××××××××××××××××××××××××××××××××××××××××××××

 

 

 

 

 

 

配置server.xml时

报了什么socket错 几个属性找不到错

 

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" 

maxThreads="150" scheme="https" secure="true"           

clientAuth="false" sslProtocol="TLS"             

keystoreFile="C:/Program Files/Apache Software Foundation/Tomcat 6.0/conf/server.ks"           

keystorePass="rwm258"

ciphers="sunchis"

/> 

 

 

先前用

protocol="HTTP/1.1"

不行

Google下改 protocol="org.apache.coyote.http11.Http11Protocol"

 

根据Tomcat官方的文档http://tomcat.apache.org/tomcat-6.0-doc/config/http.html,”HTTP/1.1″和”org.apache.coyote.http11.Http11Protocol”是一样的,但是不知道为什么前者会出错而后者就是对的,而且HTTP部分的Connector用的也是”HTTP/1.1″。

 

 

 

 

××××××××××××××××××××××××××××××××××××××××××××××××

 

 

 

 

 

 

<Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true"

maxThreads="150" scheme="https" secure="true"

clientAuth="true" sslProtocol="TLS"

keystoreFile="D:/server/server.p12"

keystoreType="PKCS12"

keystorePass="123456"

truststoreFile="D:/root.jks"

truststoreType="JKS" 

truststorePass="123456" />

 

 

 

 

××××××××××××××××××××××××××××××××××××××××××××××××

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值