bugfree安装使用~~搞定!

Tomcat6配置使用SSL双向认证(使用openssl生成证书)

上一篇 / 下一篇  2009-09-22 10:26:13

 
查看文章
 
使用OpenSSL生成CA证书
2007-10-14 14:30

安装OpenSSL for Win32

http://www.slproweb.com/download/Win32OpenSSL-v0.9.8a.exe下载OpenSSL for Win32的安装包,并安装

  

生成自签名CA证书

建立CA工作目录

mkdir ca

生成CA私钥

openssl genrsa -out ca\ca-key.pem 1024

生成待签名证书

openssl req -new -out ca\ca-req.csr -key ca\ca-key.pem

用CA私钥自签名

openssl x509 -req -in ca\ca-req.csr -out ca\ca-cert.pem-signkey ca\ca-key.pem -days 365

ca\ca-cert.pem即为CA根证书,可将其下发到客户端,导入作为根证书。

按请求生成CA证书

由证书申请者生成请求文件certreq.txt。CA端执行签名,生成证书文件1.cer

openssl x509 -req -in c:\certreq.txt -out c:\1.cer -CA ca\ca-cert.pem -CAkey ca\ca-key.pem -days 365 -CAcreateserial


Tomcat6配置使用SSL双向认证(使用openssl生成证书)

                  

一:生成CA证书

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

网上下载一个openssl软件

1. 创建私钥 

C:\OpenSSL\bin>openssl genrsa -out ca/ca-key.pem 1024 
2.创建证书请求 :

C:\OpenSSL\bin>openssl req -new -out ca/ca-req.csr -key ca/ca-key.pem 

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:zhejiang

Locality Name (eg, city) []:hangzhou

Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision

Organizational Unit Name (eg, section) []:test

Common Name (eg, YOUR name) []:root

Email Address []:sky


3.自签署证书 :

C:\OpenSSL\bin>openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 3650 
4.将证书导出成浏览器支持的.p12格式 

C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in ca/ca-cert.pem -inkey ca/ca-key.pem -out ca/ca.p12 

密码:changeit      

.生成server证书。 

1.创建私钥 :

C:\OpenSSL\bin>openssl genrsa -out server/server-key.pem 1024 
2.创建证书请求 :

C:\OpenSSL\bin>openssl req -new -out server/server-req.csr -key server/server-key.pem 

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:zhejiang

Locality Name (eg, city) []:hangzhou

Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision

Organizational Unit Name (eg, section) []:test

Common Name (eg, YOUR name) []:192.168.1.246   注释:一定要写服务器所在的ip地址

Email Address []:sky
3.自签署证书 :

C:\OpenSSL\bin>openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650 
4.将证书导出成浏览器支持的.p12格式 :

C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12 

密码:changeit
.生成client证书。 

1.创建私钥 :

C:\OpenSSL\bin>openssl genrsa -out client/client-key.pem 1024 
2.创建证书请求 :

C:\OpenSSL\bin>openssl req -new -out client/client-req.csr -key client/client-key.pem

-----

Country Name (2 letter code) [AU]:cn

State or Province Name (full name) [Some-State]:zhejiang

Locality Name (eg, city) []:hangzhou

Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision

Organizational Unit Name (eg, section) []:test

Common Name (eg, YOUR name) []:sky

Email Address []:sky      注释:就是登入中心的用户(本来用户名应该是Common Name,但是中山公安的不知道为什么使用的Email Address其他版本没有测试

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:123456

An optional company name []:tsing 


3.自签署证书 :

C:\OpenSSL\bin>openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650 
4.将证书导出成浏览器支持的.p12格式 

C:\OpenSSL\bin>openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12 

密码:changeit


.根据ca证书生成jks文件 

C:\Java\jdk1.5.0_09\bin > keytool -keystore C:\openssl\bin\jks\truststore.jks -keypass 222222 -storepass 222222 -alias ca -import -trustcacerts -file C:\openssl\bin\ca\ca-cert.pem 


.配置tomcat ssl

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

xml 代码

 tomcat 5.5的配置:

<Connector port="8443" maxHttpHeaderSize="8192"

             maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

             enableLookups="false" disableUploadTimeout="true"

             acceptCount="100" scheme="https" secure="true"

             clientAuth="true" sslProtocol="TLS" 

             keystoreFile="server.p12" keystorePass="changeit" keystoreType="PKCS12" 

             truststoreFile="truststore.jks" truststorePass="222222" truststoreType="JKS" />  

tomcat6.0的配置:

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"

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

               clientAuth="true" sslProtocol="TLS"

               keystoreFile="server.p12" keystorePass="changeit" keystoreType="PKCS12" 

               truststoreFile="truststore.jks" truststorePass="222222" truststoreType="JKS"/>


.导入证书

服务端导入server.P12 ca.p12证书

客户端导入ca.p12client.p12证书

IE中去(打开IE->;Internet选项->内容->证书)。 

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

.验证ssl配置是否正确

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


附:openssl的安装

1, 先安装安装包OpenSSL.exe,默认安装

2, 解压缩该编译好的压缩文件openssl-0.9.8e_WIN32.zip,在其目录下的bin文件中生成证书(按照以上步骤,可以先在bin文件下新建caserverclient三个空文件夹)

3, 注意:所有证书的密码必须一致


TAG:

 

评分:0

我来说两句

日历

« 2024-05-01  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 85245
  • 日志数: 111
  • 图片数: 1
  • 建立时间: 2009-09-21
  • 更新时间: 2010-05-31

RSS订阅

Open Toolbar