在tomcat中测试ssl的时候使用openssl,需要生成一个客户端证书

在tomcat中测试ssl的时候使用openssl,需要生成一个客户端证书,这个脚本是我当时的执行脚本

 

//runnerrunning@163.com 原创

del ca
del server
del client

rem 4.2.1 建立工作目录
mkdir ca

rem 4.2.2 生成CA私钥以及自签名根证书
rem 4.2.2.1 生成CA私钥
openssl genrsa -out ca/ca-key.pem 512

rem 4.2.2.2 生成待签名证书
openssl req -config apps/openssl.cnf -new -out ca/ca-req.csr -key ca/ca-key.pem

rem  4.2.2.3 用CA私钥进行自签名
openssl x509 -req -in ca/ca-req.csr -out ca/ca-cert.pem -signkey ca/ca-key.pem -days 365

rem  4.3 设置Tomcat 4.x


rem 在本文中用符号"%JDK_HOME%"来表示JDK的安装位置,用符号"%TCAT_HOME%" 表示Tomcat的安装位置。

rem 4.3.1建立工作目录
mkdir server

//runnerrunning@163.com 原创

 

rem 4.3.2 生成server端证书
rem 4.3.2.1 生成KeyPair
rem %JDK_HOME%/bin/keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 1024 -keypass changeit -storepass changeit -dname "cn=localhost, ou=ww, o=ww, l=ww, st=ww, c=ww" -keystore server/server_keystore
%JDK_HOME%/bin/keytool -genkey -alias tomcat_server -validity 365 -keyalg RSA -keysize 512 -keypass changeit -storepass changeit -keystore server/server_keystore

//runnerrunning@163.com 原创

rem 4.3.2.2 生成待签名证书
%JDK_HOME%/bin/keytool -certreq -alias tomcat_server -sigalg MD5withRSA -file server/server.csr -keypass changeit -keystore server/server_keystore -storepass changeit

rem 4.3.2.3 用CA私钥进行签名
openssl x509 -req -in server/server.csr -out server/server-cert.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -days 365

rem 首先清除已有的根证书
keytool -delete -alias my_ca_root -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit
rem 4.3.2.4 导入信任的CA根证书到JSSE的默认位置(%JDK_ROOT %/jre/security/cacerts)
%JDK_HOME%/bin/keytool -import -v -trustcacerts -storepass changeit -alias my_ca_root -file ca/ca-cert.pem -keystore %JDK_HOME%/jre/lib/security/cacerts

rem 4.3.2.5 把CA签名后的server端证书导入keystore
%JDK_HOME%/bin/keytool -import -v -trustcacerts -storepass changeit -alias tomcat_server -file server/server-cert.pem -keystore server/server_keystore

rem 4.3.2.6 查看server端证书
keytool -list -keystore %JDK_HOME%/jre/lib/security/cacerts

keytool -list -keystore server/server_keystore

rem 然后把文件server/server_keystore复制到目录%TCAT_HOME%/conf/下。

del "%TOMCAT_HOME%/conf/server_keystore"
copy server/server_keystore "%TOMCAT_HOME%/conf/server_keystore"


rem 4.4.1 建立工作目录
mkdir client

rem 4.4.2 生成client私钥并用CA私钥签名

rem 4.4.2.1 生成client私钥
openssl genrsa -out client/client-key.pem 512

rem 4.4.2.2 生成待签名证书
openssl req -config apps/openssl.cnf -new -out client/client-req.csr -key client/client-key.pem

rem 4.4.2.3 用CA私钥进行签名
openssl x509 -req -in client/client-req.csr -out client/client.crt -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 365

rem 4.4.2.4 生成client端的个人证书
rem 因为JSSE1.0.2没有完全实现了对PKCS#12格式文件的操作(只能读取,不能输出),所以在这里需要用openssl制作client端的个人证书(包含私钥)。
rem 例子:openssl pkcs12 -export -in file.pem -out file.p12 -name "My Certificate"
openssl pkcs12 -export -clcerts -in client/client.crt -inkey client/client-key.pem -out client/client.p12

rem 4.4.2.5 安装信任的根证书
rem 把ca/ca-key.pem改名为ca/ca-key.cer,在client端的IE中使用"工具 ' Internet选项 ' 内容 ' 证书 ' 导入"把我们生成的CA根证书导入,使其成为用户信任的CA。
copy ca/ca-key.pem ca/ca-key.cer
rem 4.4.3 安装个人证书
rem 把client.p12导入到client端的IE中作为个人证书,导入过程同4.4.2.5。

rem 4.5 用IE浏览器使用SSL协议访问Tomcat

兄弟们看完别忘了点左边的广告阿。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值