-
Windows环境 tomcat的OpenSSL双向认证 问题5
先下载
tomcat5.5.26 下载http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-5/v5.5.26/bin/apache-tomcat-5.5.26.zip
openssl0.9.7c下载http://gnuwin32.sourceforge.net/downlinks/openssl-bin.php
tomcat: C:\tomcat
openssl: C:\GnuWin32
把环境配置好使tomcat 能够跑起来
建目录
C:\root,用来存放生成的临时文件。
新建文件openss.txt,然后改名openss.conf 路径:C:\GnuWin32\bin\openss.conf,内容如下:
[ req ]
default_bits = 1024
default_keyfile = ca-key.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
prompt = no
output_password = as12345
[ req_distinguished_name ]
C = CN
ST = Guangdong 测试省份
L = Shenzhen 测试地点
O = Gardent 机构名称
OU = Java 组织单位名称
CN = Aisce 通用名称
emailAddress = email@gmail.com
[ req_attributes ]
challengePassword = 12345678
执行cmd.exe,在命令行窗口执行如下操作:
cd C:\GnuWin32\bin 进入GnuWin32安装目录的bin 文件夹
输入:
生成 CA 证书的 RSA 密钥对
openssl genrsa -out c:\root\ca-key.pem 1024
genrsa 用于生成 RSA 密钥对的 OpenSSL 命令
-out 令生成的密钥对保存到文件 c:\root\ca-key.pem
1024 RSA 模数位数,在一定程度上表征了密钥强度
生成待签名证书
openssl req -new -out c:\root\ca-req.csr -key c:\root\ca-key.pem -config openssl.conf
req 用于生成证书请求的 OpenSSL 命令
-new 生成一个新的证书请求
-key 指定 c:\root\ca-key.pem 为证书所使用的密钥对文件。
用CA私钥进行自签名
openssl x509 -req -in c:\root\ca-req.csr -out c:\root\ca-cert.pem -signkey c:\root\ca-key.pem -days 365
x509 生成一份 X.509 证书
-in 指定用户证书请求文件为 ca-req.csr
-signkey 把输入的文件变成字签名的证书
生成server端证书
生成KeyPair,注意keyPass,storepass 要一样
keytool -genkey -alias aisce -validity 365 -keyalg RSA -keysize 1024 -keypass abcdef -storepass abcdef -dname "cn=localhost,ou=department,o=company,l=Beijing,st=Beijing,c=CN" -keystore c:\root\aisce.jks
生成待签名证书
keytool -certreq -alias aisce -sigalg MD5withRSA -file c:\root\aisce.csr -keypass abcdef -keystore c:\root\aisce.jks -storepass abcdef
用CA私钥进行签名
openssl x509 -req -in c:\root\aisce.csr -out c:\root\aisce-cert.pem -CA c:\root\ca-cert.pem -CAkey c:\root\ca-key.pem -days 365 -set_serial 1
导入信任的CA根证书到Java的默认位置
keytool -import -v -trustcacerts -storepass changeit -alias root_aisce -file c:\root\ca-cert.pem -keystore %JAVA_HOME%\jre\lib\security\cacerts
把CA签名后的server端证书导入keystore
提示时,输入abcdef
keytool -import -v -trustcacerts -storepass abcdef -alias aisce -file c:\root\aisce-cert.pem -keystore c:\root\aisce.jks
查看server端证书
密码分别是changeit, abcde
keytool -list -keystore %JAVA_HOME%\jre\lib\security\cacerts
keytool -list -keystore c:\root\aisce.jks
在C:\tomcat-5.5.26\conf\server.xml找到
<!-- Define a SSL 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" />
-->
改为:
<!-- Define a SSL 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"
keystoreFile="C:\tomcat\conf\aisce.jks" keystorePass="abcdef"/>
将C:\root\aisce.jks复制到C:\tomcat\conf\下
Client端安装信任的根证书
将c:\root\ca-cert.pem改名为c:\root\ca-cert.cer,在client端的IE中使用"工具-->Internet选项-->内容-->证书-->导入"把我们生成的CA根证书导入,使其成为用户信任的CA。
在IE浏览器的地址栏中输入https://localhost:8443
测试成功,状态栏上的小锁处于闭合状态,表示您已经成功地与服务器建立了要求客户端验证的SSL安全连接
按理上面得因该可以实现了,但是我到红色部分就不能执行了. 请各位大侠们指教.
2008年9月12日 12:16
目前还没有答案
相关推荐
#### Tomcat和Openssl构建HTTPS双向认证 ###### 选择HTTPS WEB服务器 Linux下安装OpenSSL 一、创建服务器证书、客户端证书以及CA 1、生成--服务器端--私钥和证书请求 2、生成--客户端-----私钥和证书请求 3、生成...
ssl tomcat opensslssl tomcat openssl
一:生成CA证书 二.生成server证书。 三.生成client证书。 四.根据ca证书生成jks文件 五.配置tomcat ssl 六.导入证书 七.验证ssl配置是否正确
docker构建nginx双向认证https服务器。 openssl命令生成双向认证自签名证书。 nginx配置https(tls)服务。 浏览器访问服务器需要导入客户端证书到浏览器中。
这个是windows调用openssl需要的include包和lib包,东西都在压缩文件里面,需要什么自己将里面的复制进vc的include和lib中即可使用openssl,本人亲测好用
windows10安装openssl。 使用openssl生成privkey.pem,server.pem。 用 Nginx 实现 https 转 http
使用openssl与jdk的keytool生成根证书,server端证书,浏览器端证书,并配置使工程跑在https上。(带dos脚本)
Windows平台OpenSSl_64位安装包,需配环境变量,可用于android系统签名文件生成JKS文件。系统Path环境变量添加 `C:\OpenSSL-Win64\bin`即可通过CMD调用,生成签名钥匙文件详情请看,:...
java实现SSL的双向认证.模拟场景: Server端和Client端通信,需要进行授权和身份的验证,即Client只能接受Server的消息,Server只能接受Client的消息。
tomcat,https加密方式(jsse.openssl),亲自测试方法可行,真实有效。
windows 32位操作系统下安装配置openssl环境,及安装过程中一些错误解决
Windows 一键安装OpenSSL
针对网上不同作者写的有用cer有的是crt,有的用pem,有的用key所以容易被绕晕所以自己整理了一下 希望对刚接触证书以及需要配置双向认证的人有帮助,内含的ssl双向证书认证,如何为tomcat配置https单、双向请求认证,...
Windows版本 OpenSSL命令行工具
在Windows上编译安装OpenSSL-1.0.0e.tar.gz教程
主要介绍了Openssl实现双向认证教程(附服务端客户端代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
从http://slproweb.com/products/Win32OpenSSL.html下载的Win64OpenSSL_Light-3_0_4和Win64 OpenSSL v3.0.4 Win64 OpenSSL v3.0.4 Light包含最常用的基本功能 Win64 OpenSSL v3.0.4功能较全,适合软件开发人员
一:生成CA证书 二.生成server证书。 三.生成client证书。 四.根据ca证书生成jks文件 五.配置tomcat ssl 六.导入证书 七.验证ssl配置是否正确
Windows x64 的 Openssl 1.1.1 安装包msi OpenSSL 是一个安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。 OpenSSL被曝出现严重安全...
自己学习openSSL的一些总结,很初步,希望能够帮助到跟我一样刚刚开始接触openSSL的朋友,很浅显,我也是初学者,希望大家不要见笑。