如何使用JDK自带的工具创建密匙库和信任库
WebService 是基于SOAP协议传输的,SOAP是以XML文件形式进行信息传输,是明文,这是不安全的,所以我们可以在WebService加上SSL/HTTPS协议来进行数据传输
基于Axis的WebService可以很好的实现,在这里我们使用tomcat服务器
使用JDK自带的工具创建密匙库和信任库。
1)通过使用以下的命令来创建服务器端的密匙库:
keytool -genkey -alias Server -keystore server.keystore -keyalg RSA
输入keystore密码: strongit
您的名字与姓氏是什么?
[Unknown]: Server
您的组织单位名称是什么?
[Unknown]: ec
您的组织名称是什么?
[Unknown]: ec
您所在的城市或区域名称是什么?
[Unknown]: nanchang
您所在的州或省份名称是什么?
[Unknown]: jiangxi
该单位的两字母国家代码是什么
[Unknown]: CN
CN=Server, OU=ec, O=ec, L=beijing, ST=beijing, C=CN 正确吗?
[否]: y
输入<Server>的主密码
(如果和 keystore 密码相同,按回车):
以上命令执行完成后,将获得一个名为server.keystore的密匙库。
2)生成客户端的信任库。首先输出RSA证书:
keytool -export -alias Server -file test_axis.cer -storepass strongit-keystore server.keystore
然后把RSA证书输入到一个新的信任库文件中。这个信任库被客户端使用,被用来验证服务器端的身份。
keytool -import -file test_axis.cer -storepass changeit -keystore client.truststore -alias serverkey -noprompt
以上命令执行完成后,将获得一个名为client.truststore的信任库。
3)同理生成客户端的密匙库client.keystore和服务器端的信任库server.truststore.方便起见给出.bat文件
gen-cer-store.bat内容如下:
set SERVER_DN="CN=Server, OU=ec, O=ec, L=nanchang, S=jiangxi, C=CN"
set CLIENT_DN="CN=Client, OU=ec, O=ec, L=nanchang, S=jiangxi, C=CN"
set KS_PASS=-storepass strongit
set KEYINFO=-keyalg RSA
keytool -genkey -alias Server -dname %SERVER_DN% %KS_PASS% -keystore server.keystore %KEYINFO% -keypass strongit
keytool -export -alias Server -file test_axis.cer %KS_PASS% -keystore server.keystore
keytool -import -file test_axis.cer %KS_PASS% -keystore client.truststore -alias serverkey -noprompt
keytool -genkey -alias Client -dname %CLIENT_DN% %KS_PASS% -keystore client.keystore %KEYINFO% -keypass strongit
keytool -export -alias Client -file test_axis.cer %KS_PASS% -keystore client.keystore
keytool -import -file test_axis.cer %KS_PASS% -keystore server.truststore -alias clientkey -noprompt
好的,现在我们就有了四个文件:server.keystore,server.truststore,client.keystore,client.truststore
更改Tomcat的配置文件(server.xml),增加以下部署描述符:(其实里面有,只是被注释掉了)
<Connector port="8440"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" disableUploadTimeout="true"
acceptCount="100" scheme="https" secure="true"
clientAuth="true" keystoreFile="f:\server.keystore" keystorePass="changeit"
truststoreFile="f:\server.truststore" truststorePass="changeit"
sslProtocol="TLS" />
分享到:
相关推荐
本资源是一个 CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证配置示例。详细如何配置请参考博客《图文:CentOS 下对 Nginx + Tomcat 配置 SSL 实现服务器 / 客户端双向认证》,地址是:...
Windows Server 2008 + tomcat 配置使用SSLWindows Server 2008 + tomcat 配置使用SSLWindows Server 2008 + tomcat 配置使用SSL
Apache+tomcat+ssl+相关插件
亲测可用的完整 apache2.4+tomcat8.0+jk 版本的 负载均衡测试 安装包
Nginx+tomcat+ssl安装配置手册.pdf
window版本,使用nginx+tomcat实现集群架构。包含http集群和https2钟方式集群,解压即可以用。证书什么都已经配置好了。如果商业证书直接替换就可以了。
NULL 博文链接:https://szlxh002.iteye.com/blog/2276474
APACHE 2.2.9+TOMCAT6.0.18配置 APACHE 2.2.9+TOMCAT6.0.18配置
基于window版本下,使用nginx+tomcat搭建好的集群架构,解压既可以使用。 nginx使用的是当前最新版本(1.7.0),memcached for windown版本是1.4.4,也是目前最新版本。 包含了http的集群环境,https的集群环境,同时...
一个项目中 客户需求是这样的:指定的电脑可以打开。 在浏览器没安装证书的情况下 客户是无法打开我们的bs系统的。安装证书后可以打开。
apache和tomcat整合配置 ssl
附件中是Apacheapache_2.2.4-win32-x86-no_ssl.zip+Tomcatapache-tomcat-6.0.37 集群配置 基于最新的Apache和Tomcat,附有Tomcat和Apache集群和负载均衡配置。
本文档基于JDK+apache-tomcat运行环境进行客户端和服务器端https配置,即SSL双向认证配置
资源中包含了关于如何使用keytool生成证书,如何在tomcat中配置,并且在java web中如何配置
Tomcat配置集群(Apache-2.2.17-win32-x86-no_ssl.msi+tomcat6.3) 参见博客:http://blog.csdn.net/u013614451/article/details/35991383
Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL Tomcat5.5配置SSL
https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置https ssl Tomcat中实现https安全连接与SSL配置
整合Apache+tomcat并使Apache 配置支持HTTPS的SSL证书 10天 不解释 绝对可用
Tomcat配置SSL全过程
APACHE 2.2.9+TOMCAT6.0.18配置负载均衡 目标: 使用 apache 和 tomcat 配置一个可以应用的 web 网站,要达到以下要求: 1、 Apache 做为 HttpServer ,后面连接多个 tomcat 应用实例,并进行负载均衡。 2、 为系统...