在单点登录认证系统中,证书是非常重要的一把钥匙,客户端与服务器之间的交互安全靠的就是证书。本文章介绍的是利用JAVA JDK中自带的keytool证书生成工具来生成证书。
如果以后真正在产品环境中使用肯定要去证书提供商去购买,证书认证一般都是由VeriSign认证,
中文官方网站:http://www.verisign.com/cn/
------------------------------------------------------------------------------------------------------------------
具体的证书操作步骤大致分为三步:生成证书、导出证书、为客户端的JVM导入证书
前提:计算机上要有JDK,并且在C盘新建文件夹keys
1)生成证书
命令:keytool -genkey -alias javacrazyer -keyalg RSA -keystore c:/keys/javacrazyerkey
命令解释:javacrazyer表示我给证书起的别名,以方便后面导出导入证书使用,真正生成的证书文件名是javacrazyerkey
要给力,先上图
上面图片中的重点就是“您的名字和姓氏是什么?”这一项,我这里写的是javacrazyer.sso.com,实际上这个域名是我为了方便操作而写的,真实情况是不存在这个域名。我是在C:\Windows\System32\drivers\etc\hosts,添加内容: 127.0.0.1 sso.wsria.com
这样在访问sso.wsria.com的时候其实是访问的127.0.0.1也就是本机
注意:这一步中输入的域名不要是IP地址
2)导出证书
命令:keytool -export -file c:/keys/javacrazyer.crt -alias javacrazyer -keystore c:/keys/javacrazyerkey
命令解释:这里表示将第一步生成的证书文件导出成真正的证书以便以后为JVM导入证书使用
给力上图
这里输入的密码是第一步创建证书时设定的密码
这时我们看看c:/keys下的文件,又多了个crt文件,也就是真正导出的证书
3)为客户端JVM导入证书【这一点非常重要】
命令:keytool -import -keystore "C:\Program Files\Java\jdk1.6.0_20\jre\lib\security\cacerts" -file "c:/keys/javacrazyer.crt" -alias javacrazyer
命令解释:将第二步生成的真正的证书文件导入到JDK中的证书认证文件里,要记住之所以我说是客户端JVM,关键是将来如果你在MyEclipse中用到tomcat,而tomcat的JDK正好是这个"C:\Program Files\Java\jdk1.6.0_20",那么这样的话你访问一个部署在TOMCAT上的WEB程序就是访问客户端,所以为了防止将来不出差错,一个是关键选好这个JDK导入证书,另一个就是MyEclipse中tomcat的JDK要选择同一个JDK
这里输入的密码不是第一步中设定的密码,而是默认密码:changeit
再一次强调:之所以反复说本步骤重要是由于将来在访问SSO程序的WEB客户端时可能会出现这样一个错误
请求https错误: unable to find valid certification path to requested target
为了避免这个错误所以本步骤一定确保正确完成,确保完成的标准是在第4步
4)应用证书到Web服务器-Tomcat
这一步实际上就是说要开启tomcat的SSL((Secure Sockets Layer 安全套接),也即是开启https加密协议,为什么加密?安全呗,不然中国工商银行网站进行网上银行账户操作时用https干嘛
所以设计安全性能要求非常高的网站系统必须使用https加密协议
言归正传,准备好一个干净的tomcat,本教程使用的apache-tomcat-6.0.29
打开tomcat目录的conf/server.xml文件,开启83和87行的注释代码,并设置keystoreFile、keystorePass修改结果如下:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="c:/keys/javacrazyerkey"
keystorePass="cheney"
/>
参数解释
keystoreFile:在第一步创建的key存放位置
keystorePass:创建证书时的密码
好了,到此Tomcat的SSL启用完成,现在你可以启动tomcat试一下了,例如本教程输入地址:https://javacrazyer.sso.com:8443/
打开的是:
我们要做的就是点击“继续浏览此网站(不推荐)。 ”,现在进入Tomcat目录了吧,如果是那么你又向成功迈进了一步。
- 大小: 13.7 KB
- 大小: 3 KB
- 大小: 11.1 KB
- 大小: 9.1 KB
- 大小: 14.8 KB
- 大小: 44.9 KB
- 大小: 58.9 KB
分享到:
相关推荐
[置顶] SSO单点登录系列3:cas-server端配置认证方式实践(数据源+自定义java类认证) http://blog.csdn.net/ae6623/article/details/8851801 [置顶] SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas...
sso单点登录ppt.ppt
sso单点登录源代码sso单点登录源代码sso单点登录源代码sso单点登录源代码sso单点登录源代码
SSO单点登录
因为公司要实现SSO单点登录的效果,最近在网上找了一些资料,但是都没有好用的, 所以自己用PHP 使用TP5.0 实现了SSO单点登录,可以跨多个域名。 下载后在本地配置好 A,B,C 3个网站,就可以模拟效果了。
SSO 单点登录(Single Sign On)的简称, SSO是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
SSO单点登录解决方案,包括HP灵动单点登录系统演示文件和其他的资料文件
baigo SSO 是一款基于 HTTP 协议的单点登录系统,baigo SSO 以简单为设计、开发的宗旨,安装部署简单、使用简单。baigo SSO 没有复杂的菜单,没有深奥的概念,没有晦涩难懂的名词,一切崇尚简单。 baigo SSO单点...
sso单点登录demo,集成shiro 完美实现单点登录demo,共享session
利用springMvc 实现的简单的单点登录Demo,内含三个小Mavn项目分别是 1、认证中心SSOServer 2、子系统1SSOClient1 3、子系统2SSOClient2 文章请参考 http://blog.csdn.net/qq_31183297/article/details/79419222
sso单点登录sso单点登录sso单点登录sso单点登录
一个实现SSO方案的构想SSO单点登陆解决方案
spring boot整合spring security 实现SSO单点登陆 完整DEMO. 1、配置本地hosts 127.0.0.1 sso-login 127.0.0.1 sso-resource 127.0.0.1 sso-tmall 127.0.0.1 sso-taobao windows系统的路径在C:\WINDOWS\system...
redmine本身没有提供单点登录功能,这个插件可以提供redmine的单点登录。解压后将这两个文件放置在redmine目录的plugins目录中。具体操作参照README.md。每个解压文件中都有个EADME.md
单点登录demo,包括客户端和服务器,分布式开发,maven管理
简单实用的sso】的单点登录的实例 简单易懂 方便快捷 欢迎分享使用