`
xdy2008
  • 浏览: 54206 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

xp tomcat https服务器搭建

阅读更多
自建CA证书。利用openssl和keytool实现tomcat下自签名证书。

环境:Winxp + tomcat + jdk

1. 准备工作:
下载openssl
Tomcat
jdk 

2. 使用openssl生成根证书
(建立一张证书需要三步, 1是生成系统私钥, 2生成待签名证书, 3是生成x509证书, 用CA私钥进行自签名.)
1. 生成根证书的私钥,生成文件:cakey.pem
Openssl genrsa –out cakey.pem 1024
注解:genrsa: 生成CA私钥
-out: 生成的私钥的保存路径和名字
1024: 密钥位数
2. 根据私钥生成证书申请 生成文件careq.csr
Openssl req –new –out careq.csr –key cakey.pem –config openssl.cnf

G:\ca04>openssl req -new -out careq.csr -key cakey.pem -config openssl.cnf
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:guangdong
Locality Name (eg, city) []:shenzhen
Organization Name (eg, company) [Internet Widgits Pty Ltd]:royal
Organizational Unit Name (eg, section) []:PMS
Common Name (eg, YOUR name) []:localhost
Email Address []:localhost@royal.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:123456
An optional company name []:royal

注解:
csr: certificate signing request
req: 生成待签名证书的选项
-key: 采用的CA私钥的路径, 这里使用的是3.1中产生的私钥
3. 利用根证书申请生成自签名根证书,生成cacert.pem
Openssl x509 –in careq.csr –out cacert.pem –signkey cakey.pem –days 3650

G:\ca04>openssl x509 -req -in careq.csr -out cacert.pem -signkey cakey.pem -days
3650
Loading 'screen' into random state - done
Signature ok
subject=/C=CN/ST=guangdong/L=shenzhen/O=royal/OU=PMS/CN=localhost/emailAddress=l
ocalhost@royal.com
Getting Private key
表示自签名根证书成功。

注解:
x509: 生成x509的CA根证书
-in: 待签名证书的路径
-out: 生成的CA根证书的路径
-signkey: 采用签名的私钥的路径
-days: 有效时间(天)

3. 生成tomcat证书库文件和证书申请
1. 生成证书库文件 tomcatkey.jks
利用JDK自带的工具生成。
Keytool –genkey –alias tomcat_server –keyalg RSA –keysize 1024 –validity “1825” –keypass 123456 –keystore tomcatkey.jks –storepass 123456
解释:-alias:证书库文件中私钥的别名。
   -keypass证书库文件私钥的密钥。
    -keystore证书库文件存储路径
   -storepass证书文件的密钥。

G:\ca04>keytool -genkey  -alias tomcat_server -keyalg RSA -keysize 1024 -validit
y "1825" -keypass 123456 -keystore tomcatkey.jks -storepass 123456
您的名字与姓氏是什么?
  [Unknown]:  192.168.0.37
您的组织单位名称是什么?
  [Unknown]:  PMS
您的组织名称是什么?
  [Unknown]:  royal
您所在的城市或区域名称是什么?
  [Unknown]:  shenzhen
您所在的州或省份名称是什么?
  [Unknown]:  guangdong
该单位的两字母国家代码是什么
  [Unknown]:  CN
CN=192.168.0.37, OU=PMS, O=royal, L=shenzhen, ST=guangdong, C=CN 正确吗?
  [否]:  y

注:红色字体地方:名称和姓氏一定要填入服务器的域名或IP地址,否则部署之后会提示证书地址不匹配的错误。其它的写一致就可以了。
2. 根据证书库文件生成证书申请表 生成文件certreq.cer
Keytool –certreq –alias tomcat_server –signalg “MD5withRSA” –file certreq.cer –keypass 123456 –keystore tomcatkey.jks –storepass 123456

4. 制作服务器证书并导入证书库
1. 用根证书签名证书申请生成根证书 生成文件 tomcatcert.pem
Openssl ca –keyfile cakey.pem –cert cacert.pem –in certreq.cer –out tomcatcert.pem –config openssl.cnf –polisy policy_anything
提示中输入 Y接受就可以了,
2. 由于原有的格式都是pem格式的,在导入证书库之前(即导入jks之件)需要转换成cer格式,生成文件cacert.cer,tomcatcert.cer
Openssl x509 –in cacert.pem –out cacert.cer
Openssl x509 –in tomcatcert.pem –out tomcatcert.cer
3. 将转换成功的cer文件导入证书库中。
首先导入根证书。
Keytool –keystore tomcatkey.jks –import –alias RootCA –file cacert.cer
Keytool –keystore tomcatkey.jks –import –alias tomcat_server –file tomcatcert.cer

5. Tomcat配置
Server.xml修改
增加:
    <Connector protocol="HTTP/1.1"
port="443" minSpareThreads="5" maxSpareThreads="75"
enableLookups="true" disableUploadTimeout="true"
acceptCount="100"  maxThreads="200"
scheme="https" secure="true" SSLEnabled="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="conf\ca04\tomcatkey.jks" keystorePass="123456"/>

去掉:
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />

增加双向访问
在web.xml里增加:
<login-config>
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint> 
<!--Authorization setting for SSL --> 
<web-resource-collection> 
<web-resource-name>SSL</web-resource-name> 
<url-pattern>/*</url-pattern> 
</web-resource-collection> 
<user-data-constraint> 
<transport-guarantee>CONFIDENTIAL</transport-guarantee> 
</user-data-constraint> 
</security-constraint>

  <url-patten>表明对所有的请求都采用SSL协议,写上这段代码后,tomcat可以自动实现http到https的转换 https://192.168.0.37/YXTSystem/

IE浏览器配置
第一次打开的时候会提示证书错误,这时只要点击查看证书,点击安装证书,下一步:选择受信任的根证书颁发机构,再下一步完成。刷新就不会有提示了。
如果没有提示安装证书,进行证书安装,在证书――〉受信任的根证书颁发机会――〉导入,将cacert.cer 和tomcatcert.cer ,就成功了。

总结:
服务器文件或是生成tomcat证文件,中的名字和姓氏或common name(eg.yourname)一定要与服务器的的访问地址一致,不然会导致失败。
将根证书和客户端证书导致到浏览器中,要转换成p12格式的。
命令是:openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12

Tomcat里面配置server产生的server.p12
Trutsstore.jks 是由根证书签名成功的ca来生成的
命令:keytool -keystore truststore/truststore.jks -keypass keypass-storepass storepass-alias my_ca -import -trustcacerts -file ca\ca-cert.pem(根证书的成功签名)

浏览器要导入的证书有:
受信任的根证书颁发机构:根证书的ca.p12,cacert.cer(根证书申请)和tomcatcert.cer(服务器证书)

个人:导入client.p12 客户端的
分享到:
评论

相关推荐

    tomcat6XP绿色版+自动JDK

    标题中的“tomcat6XP绿色版+自动JDK”指的是一个特别为Windows XP系统优化的Tomcat 6版本,它以绿色免安装的形式提供,并且集成了JDK 1.6,使得用户在运行时无需单独安装Java Development Kit,可以直接启动Tomcat...

    Eclipse+Tomcat+MySql搭建javaweb开发环境借鉴.pdf

    Tomcat是我们选择的Web服务器。我们可以从Apache的官方网站下载Tomcat 6.X。我们下载的是32-bit/64-bit Windows Service Installer版本的Tomcat。 4. MySql的下载和安装 MySql是一款轻巧开源的数据库引擎。我们...

    xp安装 JDK+TOMCAT+MYSQL+jsp论坛

    接着,安装Apache Tomcat服务器。Tomcat是一个开源的Servlet容器,用于运行Java Web应用程序,包括JSP和Servlet。同样地,从Apache官方网站下载适合XP系统的Tomcat版本,按照提示进行安装。安装完毕后,也需要配置...

    Tomcat集群配置简要

    Tomcat集群配置是将多个Tomcat服务器实例组合在一起,以提高应用程序的可用性和可伸缩性。以下是一个简要的步骤和配置说明,以帮助你理解如何在Windows XP环境下设置一个基于Apache2.2的Tomcat集群。 首先,你需要...

    Eclipse+Tomcat+MySql搭建java web开发环境.docx

    3. **Apache Tomcat 6.x**: Tomcat 是一款开源的 Servlet 容器,可以作为 Java Web 应用程序的服务器。为了简化安装过程,推荐使用安装版。 - **下载链接**: [Tomcat 6.x]...

    XP下Jdk+tomcat+eclipse+mysql快速搭建jsp环境

    在构建JSP开发环境的过程中,需要使用多个关键组件,包括JDK(Java Development Kit)、Tomcat服务器、Eclipse集成开发环境(IDE)和MySQL数据库管理系统。选择合适的版本以及正确配置这些组件之间的兼容性对于成功...

    windows XP+Eclipse 3.3+tomcat 6.0+lomboz3.3

    在这个场景中,我们关注的是一个基于Windows XP的操作系统上的Java Web开发环境,它包括Eclipse IDE、JDK、Tomcat服务器以及Lomboz插件的安装和配置。以下是详细步骤: 1. **JDK安装与配置**: - 下载JDK1.6版本,...

    Tomcat配置群集负载均衡[1]

    Tomcat服务器 :Tomcat5.5 Apache服务器 :Apache2.2 开始配置: 1、我们先以普通的方式配置tomcat1、tomcat2 {配置Java环境变量} {启动Tomcat1} 启动成功!表示我的tomcat1是好使的!在来看看tomcat2也就是另...

    如何在Linux系统下搭建Web服务器及数据库服务器.doc

    在Linux系统下搭建Web服务器及数据库服务器是一项基础但至关重要的工作,这主要涉及到服务器环境的配置、软件的安装以及服务的启动与管理。本篇将详细介绍这一过程。 首先,Linux系统的安装是整个流程的起点。通常...

    Tomcat配置群集负载均衡[3][完]

    Tomcat服务器 :Tomcat5.5 Apache服务器 :Apache2.2 开始配置: 1、我们先以普通的方式配置tomcat1、tomcat2 {配置Java环境变量} {启动Tomcat1} 启动成功!表示我的tomcat1是好使的!在来看看tomcat2也就是另...

    XP下配置ApacheWebServer2.2+PHP5.2.9.2+MySql6.0 +Tomcat6.0+ JSP 整合.rar

    因此,我们需要在Apache的conf目录下编辑mod_jk.conf文件,设置worker.properties来定义Tomcat服务器的连接信息。 "XP下配置ApacheWebServer2.2+PHP5.2.9.2+MySql6.0 +Tomcat6.0+ JSP(mod_jk) 环境.doc"这份文档很...

    apache-tomcat-7.0.86-windows-x86

    这款32位版本的Tomcat适用于那些运行32位操作系统的用户,如Windows XP、Windows Vista、Windows 7或Windows 8等。 Tomcat是Apache软件基金会的Jakarta项目的一部分,它的设计目标是轻量级、简单易用,并且能够处理...

    Tomcat负载平衡和集群

    2. **Session复制机制**:为了保证在任意一台服务器宕机时,用户会话数据的完整性,集群中的Tomcat服务器间通过TCP协议复制session信息。在web.xml中添加`&lt;distributable/&gt;`或`&lt;Context distributable="true"/&gt;`标记...

    Apache2.0.52+JDK5.0+Tomcat5.5.4.doc

    Apache2.0.52、JDK5.0 和 Tomcat5.5.4 是一套常见的开源软件组合,用于搭建Web服务器环境,特别是对于运行GIS(地理信息系统)软件如ArcIMS 9.0至关重要。ArcIMS是一款由ESRI公司提供的Internet地图服务器软件,允许...

    tomcat7_32位_解压缩版

    【标题】"Tomcat7_32位_解压缩版" 涉及的主要知识点是Apache Tomcat服务器的第七个主要版本,专为32位操作系统设计。Tomcat是一款广泛使用的开源Java Servlet容器,它是Apache软件基金会Jakarta项目的一部分。这个解...

    Apache+Tomcat+Linux集群和负载均衡

    3. **网络连通性**: 测试集群内部各组件间的网络连通性,确保Apache能够正常与Tomcat服务器通信。 4. **错误排查**: 仔细检查配置文件中的每一项设置,特别是路径、端口等信息。出现问题时,查看日志文件可以帮助...

    Myeclipse6.5 JDK1.7 tomcat6.5 SQL2000 Personal Edition 配置及安装手册

    "Myeclipse6.5 JDK1.7 tomcat6.5 SQL2000 Personal Edition 配置及安装手册" ...本手册提供了 Myeclipse6.5、JDK1.7、Tomcat6.5、SQL2000 Personal Edition 的详细配置和安装过程,旨在帮助开发者快速搭建开发环境。

Global site tag (gtag.js) - Google Analytics