1、准备:
从http://www.apache.org上下载最新版的支持SSL的Apache安装文件(目前最新版为httpd-2.2.16-win32-x86-openssl-0.9.8o.msi)
从http://windows.php.net/download/上下载最新版的Thread Safe(Not Thread Safe版的在使用curl_init()函数时会出错)的PHP组建(目前最新版为php-5.3.3)。
2、将php-5.3.3解压到D:\php-5.3.3下。将根文件夹下的php.ini-development复制一份并命名为php.ini, 打开将;extension=php_mysql.dll、;extension=php_mbstring.dll;、extension=php_gd2.dll前面的注释(;)去掉配置完毕,在进行Web Service时需要开启extension=php_soap.dll、extension=php_curl.dll。 注:在开发期建议打开PHP的错误提示,在php.ini文件里找到display_errors = Off 改为 display_errors = On即可。
3、安装Apache服务器到一目录(D:\Program Files\Apache Software Foundation\Apache2.2), 在安装过程中设置一域名(cas.server)。打开目录/conf/下的httpd.conf文件, 找到LoadModule 并在最后(其实添加到任何位置都行, 这里只是为了美观)添加
LoadModule php5_module "D:/php-5.2.14/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "D:/php-5.3.3"
开启模块
LoadModule ssl_module modules/mod_ssl.so重新启动Apache服务器
扩展:更改Apache服务器的根目录
找到DocumentRoot 位置, 将后面的位置改为想要的位置即可如:D:\www\htdocs, 将此目录设置访问权限。添加
<Directory "D:/www/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
如果更改了根目录建议将原来的Directory后面的地址直接更改为设置的目录即可。PHP配置完成。
4、SSL配置:
使用控制台Console进入Apache根目录的bin目录。输入以下三句配根据提示填写用户名、密码、地区、域名、邮箱等。
openssl req -new -config ../conf/openssl.cnf -out server.csr
openssl rsa -in privkey.pem -out server.key
openssl x509 -in server.csr -out server.crt -req -signkey server.key -days 365
第一句会在bin目录下生成 privkey.pem和server.csr
第三局会在目录下生成server.key
将server.key和server.crt复制到/conf/目录下。并用控制台Console进入执行如下命令, 将证书导入到Java内。
keytool -import -alias apache -file server.crt -keypass changeit -keystore "%JAVA_HOME%/jre/lib/security/cacerts"
开启Apache的SSL模块打开/conf/httpd.conf,将
#Include conf/extra/httpd-ssl.conf
前面的注释去掉。
找到
SSLCertificateFile "D:/Program Files/Apache Software Foundation/Apache2.2/conf/server.crt"
SSLCertificateKeyFile "D:/Program Files/Apache Software Foundation/Apache2.2/conf/server.key"
将文件设为server.crt和server.key所在的目录, 默认极为/conf/无需修改。
此时已经配置完毕, 访问https://cas.server测试,
注:如果您在上面配置Apache根目录的时候更改了位置,那么此时可能会提示您没有访问权限。原因是SSL的默认根目录和Apache安装的根目录位置相同。 打开/conf/extra/httpd-ssl.conf找到DocumentRoot位置设为您所设的位置即可, 如果不想和Apache的根目录相同。 则必须在/conf/httpd.conf文件上添加访问该目录的权限。
5、Tomcat的CAS配置。
在控制台Console进入JDK根目录的bin目录
1、打印安全证书列表
keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts"
2、将别名为tomcat的安全证书从证书库里删除
keytool -delete -alias tomcat -keypass changeit
3、创建别名为tomcat的证书, 会存储在root目录下的.keystore内
keytool -genkey -alias tomcat -keypass changeit -keyalg RSA
输入密码changeit等等, 您的名字与姓氏填写CAS服务器的域名(如:cas.server), 写IP会出错, 我也不知道会出什么错,官方这样说的, 咱都是按套路出牌的人, 这样整就行了。
4、将证书从.keystore文件内导出
keytool -export -alias tomcat -keypass changeit -file server.crt 输入密码changeit
5、将证书导入到Java的安全证书内, 注意是jdk里面的jre。
keytool -import -alias tomcat -file server.crt -keypass changeit -keystore "%JAVA_HOME%/jre/lib/security/cacerts"(官方网站http://www.jasig.org/cas/server-deployment/solving-ssl-issues上没有引号, 但是如果%JAVA_HOME%有空格的话会出错) 输入密码
这时在JDK的/bin/目录下会生成一个server.crt拷贝到Tomcat的conf文件夹下。
在C:\Documents and Settings\登录名 下会生成一个.keystore文件拷贝到Tomcat的conf文件夹下
修改Tomcat/conf/server.xml文件在
<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" />
内添加
<!-- .keystore的目录和密码 -->
keystoreFile="D:/Qone/apache-tomcat-5.5.17/conf/.keystore" keystorePass="changeit"
<!-- Java安全证书库的目录 -->
truststoreFile="D:/Program Files/Java/jdk1.6.0_18/jre/lib/security/cacerts"
不同的版本修改方式不一样, 这个实在Tomcat5.5上配置的, Tomcat6不同, 具体信息参看Tomcat的docs。(%tomcat-docs%/ssl-howto.html)
6、说明:
-alias 后面的是证书的别名
-keypass 后面的是整数密码
-keyalg 后面的是使用的加密算法。RSA为非对称加密
OK
CommunityWebServiceImpl的casLogin(ticket)方法设为cas.server
分享到:
相关推荐
1,tomcat8的配置: 1.1修改tomcat8.x/conf/context.xml的配置如下: <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file ...
这一步对于 Tomcat 的 SSL 配置不是必须的,但对于 CAS SSO 是必须的。否则将出现错误。 首先,需要导出证书: `keytool -export -trustcacerts -alias tomcat -file server.cer -keystore server.keystore -...
标题中的“tomcat配置ssl-单点登录(sso)”指的是在Apache Tomcat服务器上配置SSL安全套接层,以及实现单点登录(Single Sign-On, SSO)功能。这是一个涉及网络安全和用户认证的重要主题,主要目标是提高Web应用的...
- 下载并安装CAS服务器,如选择Apache Tomcat作为应用服务器。 - 配置CAS服务器,包括修改`cas.properties`文件,设置服务器地址、端口、服务定义等。 3. **配置Pentaho SSO插件** - 获取Pentaho的CAS插件,一般...
3. CAS Client支持多种客户端平台,如Java、.Net、PHP、Perl、Apache、uPortal、Ruby等。 【CAS原理与协议】CAS协议包括CAS Server和CAS Client两个部分。用户访问受保护资源时,如果没有ServiceTicket,CAS Client...
CAS(Central Authentication Service,...综上所述,CAS SSO配置涉及到服务器和客户端两部分,需要对Tomcat、SSL证书管理、以及CAS客户端库有深入理解。在实际操作中,务必遵循最佳实践,确保系统的安全性和稳定性。
5. **证书配置**:为了安全,CAS使用SSL,需要配置服务器证书。 ### 2. Java客户端配置 Java客户端通常使用CAS Java API来实现SSO功能。步骤如下: 1. **添加依赖**:在项目中引入CAS Java API库,如Apache Shiro...
根据给定文件“cas使用配置.txt”的标题...综上所述,CAS的配置涉及多个层面,包括JDK、Tomcat、CAS服务器与客户端的版本选择,以及SSL证书的生成与配置等。每一步都需要仔细操作,以确保最终的单点登录服务稳定可靠。
1. **下载与解压**:首先,你需要下载 CAS 服务器的相应版本,例如 cas-server-3.5.2,然后将其解压缩到 Apache Tomcat 的 webapps 目录下,创建名为 "cas" 的子目录。 2. **启动 CAS Server**:确保 Tomcat 服务器...
本文将详细介绍如何在Tomcat服务器上配置并实现基于CAS的单点登录功能。 #### 二、基础知识 ##### 1. CAS简介 CAS是一个中心认证服务,它允许应用程序验证用户的凭据而不必自己管理用户帐户。CAS支持多种身份验证...
在开始配置之前,确保你的开发环境中已经安装了 Java 开发工具(JDK)和 Apache Tomcat 服务器。CAS 通常基于 Java 运行,而 Tomcat 是常见的应用服务器选择。 2. **CAS 服务器下载与解压**: 从官方网站下载 CAS...
CAS的核心特点是其独立部署的服务器和客户端组件,支持多种客户端平台,如Java、.Net、PHP、Perl、Apache等。 **CAS工作原理与协议** CAS的运行机制主要包括两个核心组件:CAS Server和CAS Client。CAS Server作为...
- 安装环境:确保你有一台运行JDK 1.6.0_07和MySQL 5的服务器,以及Apache Tomcat 6.0.16。 - 生成安全证书:使用`keytool`命令创建一个新的密钥对,指定别名为`tomcat`,算法为RSA,并设置keystore密码为`...
- 证书配置:CAS服务器需要SSL支持,因此需要配置服务器证书以确保通信安全。 4. **服务提供商集成** - 配置文件:服务提供商也需要配置以识别CAS服务器,例如在Spring Boot应用中,需要在`application....
- **CAS Client**:支持多种编程语言和平台,包括Java、.Net、PHP、Perl、Apache、uPortal 和 Ruby 等,使得不同平台之间的集成变得简单高效。 #### 二、CAS 工作原理与协议流程 CAS的基本工作原理可以分为两个...
在这个实例教程中,我们将重点讨论如何使用中央认证服务(Central Authentication Service,简称CAS)在Apache Tomcat服务器上实现SSO。 CAS是一个开源的身份验证框架,它提供了统一的登录界面,用户只需一次登录,...
- 进入部署CAS服务端的Tomcat的`conf`目录下,编辑`service.xml`文件,主要配置如下: ```xml connectionTimeout="20000" redirectPort="8443" URIEncoding="gbk"/> unpackWARs="true" autoDeploy="true...
然后编辑/etc/httpd/conf.d/ssl.conf文件,配置SSL引擎以及代理转发到CAS应用的设置,并将相应的证书文件路径指向所拷贝的文件。 具体来说,需要修改指令块,启用SSLEngine,SSLProxyEngine,并设置代理转发指令...