`
JavaCrazyer
  • 浏览: 3008803 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

SSO单点登录之一:创建证书

阅读更多

在单点登录认证系统中,证书是非常重要的一把钥匙,客户端与服务器之间的交互安全靠的就是证书。本文章介绍的是利用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目录了吧,如果是那么你又向成功迈进了一步。


 

OK,下一篇文章要配置CAS服务器了



感谢咖啡兔的SSO文章
  • 大小: 13.7 KB
  • 大小: 3 KB
  • 大小: 11.1 KB
  • 大小: 9.1 KB
  • 大小: 14.8 KB
  • 大小: 44.9 KB
  • 大小: 58.9 KB
5
5
分享到:
评论
2 楼 alleni123 2014-06-30  
谢谢分享, 太受益了
1 楼 aa00aa00 2013-06-19  
真是不错的文章

相关推荐

    关于SSO单点登录的简单实现

    SSO(Single Sign-On)单点登录...总之,SSO单点登录为用户提供了便捷的访问体验,同时降低了管理多系统登录的复杂性。通过理解其原理和实现方式,我们可以根据具体需求选择合适的技术方案,构建高效且安全的SSO系统。

    sso单点登录实例

    SSO(Single Sign-On)单点登录是一种网络应用的认证技术,它允许用户在一个系统或应用中登录后,无需再次输入凭证即可访问其他关联的系统或应用。这大大提升了用户体验,减少了用户记忆多个密码的负担,同时也有助...

    SSO单点登录DEMO

    通过这些知识点的学习和实践,你可以创建一个基本的SSO单点登录DEMO,为多应用环境提供便捷的身份验证方案。在实际项目中,你可能还需要根据具体需求进行扩展,比如支持OAuth、OpenID Connect等更现代的认证协议,...

    C#单点登陆组件源码SSO

    单点登录(Single Sign-On,简称SSO)是一种网络身份验证机制,允许用户在一个系统上登录后,无需再次验证即可访问多个相互关联的系统。在IT行业中,SSO技术广泛应用于企业级应用,提高用户体验,简化管理并增强安全...

    domino louts sso 单点登录 配置教材

    单点登录(Single Sign-On,简称SSO)是一种网络安全技术,它允许用户通过一次登录就能访问多个应用系统,无需反复输入凭证。在Lotus Domino环境中,实现SSO能够极大地提升用户体验和系统管理效率。本教材将详细介绍...

    ofbiz sso 单点登录

    单点登录(Single Sign-On,简称 SSO)是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次输入凭证。在 ofbiz 中,SSO 实现是通过集成 Central Authentication Service(CAS)和 ...

    CAS单点登录(SSO)教程

    为了解决这一问题,单点登录(Single Sign-On, SSO)技术应运而生。CAS (Central Authentication Service) 是一种广泛应用于Web应用中的单点登录解决方案。本文旨在详细介绍CAS的工作原理、配置流程以及具体实施步骤...

    SSO 单点登录配置方案.pdf

    SSO(Single Sign-On)单点登录是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,无需多次输入凭证。这种技术对于大型企业或组织来说尤其有用,可以提高用户体验,同时减少密码管理的复杂...

    .net单点登录(SSO)

    .NET 单点登录(SSO)是网络应用中一种高效的身份验证机制,允许用户在一个系统登录后,无需再次输入凭证即可访问其他关联的系统。这种技术提高了用户体验,减少了登录过程中的繁琐步骤,同时也能增强安全性,因为...

    CAS单点登录(SSO)完整教程

    随着互联网应用的日益复杂化,单点登录系统如CAS成为了企业级应用的标准配置之一。通过本文的深入解析,读者不仅能够掌握CAS SSO的理论知识,更能通过实践操作,深刻理解其在实际场景中的应用价值。然而,随着网络...

    SSO单点登录配置方案[定义].pdf

    总的来说,SSO单点登录的配置是一个涉及身份验证、安全通信、系统集成等多个方面的复杂过程。通过正确配置和使用CAS,企业能够构建一个高效、安全的身份验证体系,提高用户满意度并降低管理成本。

    EPBWECC配置单点登录SSO.doc

    文档"EPBWECC配置单点登录SSO.doc"详细阐述了如何在EP(Enterprise Portal)系统中配置与BW(Business Warehouse)和ECC(Enterprise Central Component)系统的单点登录(SSO, Single Sign-On)集成。以下是配置步骤的详细...

    SSO个人实现方式

    SSO(Single Sign-On)是单点登录的缩写,是一种网络身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在本文中,我们将探讨SSO的原理,以及如何通过提供的压缩包文件实现...

    crowd实现单点登录demo

    在IT行业中,单点登录(Single Sign-On,简称SSO)是一种身份验证机制,它允许用户在一个系统上登录后,无需再次输入凭证即可访问多个相互关联的系统。 Crowd 是 Atlassian 公司提供的一款强大的身份管理和访问控制...

    cas 单点登录 耶鲁大学单点登录

    CAS (Central Authentication Service) 是一种开放源代码的单点登录协议和服务,最初由耶鲁大学开发,目前由Apereo基金会维护。CAS为分布式应用提供了单一的认证服务,简化了用户在不同应用程序间的登录体验。CAS...

    TAMeb单点登录的几种方式

    本文将深入探讨TAMeb实现单点登录的四种主要方式:基于LTPA的单点登录、代填表单的单点登录、基于数字证书的单点登录以及基于HTTP请求头的单点登录。 #### 基于LTPA的单点登录 LTPA(Lightweight Third Party ...

    用cas实现mantis单点登录和登出

    单点登录(Single Sign-On,简称 SSO)是一种常见的身份认证模式,它允许用户在多个应用程序和服务中仅通过一次登录就能访问所有相关系统而无需多次输入密码。这种机制极大地提高了用户体验,并且在一定程度上增强了...

    使用keycloak配置单点登录

    本指南介绍如何在特定环境中配置Keycloak以实现单点登录(SSO)功能。所涉及的环境包括: - **Keycloak服务器**: 192.168.159.178 (CentOS 7.6) - **JumpServer服务器**: 192.168.159.162 (CentOS 7.6) - **Zabbix...

Global site tag (gtag.js) - Google Analytics